2015-01-26 2 views
0

У меня есть большая существующая база кода в зависимости от многих внешних библиотек, которые все используют \ MTd в качестве настройки времени выполнения. Эта база кода стабильна и хорошо протестирована в этой конфигурации. Я бы предпочел сохранить ее как есть.Использование MDd и MTd в одном и том же решении Visual Studio?

Я пытаюсь интегрировать новую внешнюю библиотеку в базу кода (если это имеет значение, это Касабланкский REST SDK), однако я только что обнаружил, что, похоже, ее нужно использовать с настройкой \ MDd. Когда я обнаружил эту проблему, у меня возникла какая-то странная непонятная ошибка в std: shared_ptr. Когда я изменил свой изолированный проект на использование \ MDd, casablanca работал намного лучше.

Визуальная студия, похоже, не позволяет мне иметь разные настройки, она кажется либо все, либо ничего в одном решении?

Кто-нибудь знает о хорошей работе для этой ситуации? Какие-либо предложения? Я даже не уверен, где сосредоточить мое внимание? 1) Могу ли я подделать Visual Studio и использовать оба? и если так, я должен это сделать? 2) Или я должен попытаться получить рабочую статическую библиотеку casablanca? Это не представляется возможным на форуме о дискурсиях? 3) Или я должен просто укусить пулю и переместить все решение в \ MDd? 4) Наконец, следует ли мне просто сократить свои потери и попробовать другую платформу клиентского сервера? Быстрый поиск, показанный для решения клиентского сервера windows C++, я мог бы использовать Boost Asio, API клиентов Google, WinSock?

Это моя первая реализация клиентского сервера, и мнения очень приветствуются.

+0

Вы видели [эту дискуссию] (https://casablanca.codeplex.com/workitem/18)? Есть подробные инструкции о том, как создать его с помощью статической среды выполнения. Что касается ваших вопросов: вы можете указать время выполнения для каждого проекта в окне параметров проекта. Но вы не можете смешивать время выполнения модулей, если вам нужна интеграция за пределами C ABI. Библиотеки, о которых вы упомянули, имеют совершенно разные уровни - это обеспечивает возможности REST по HTTP. С boost asio у вас будут только сокеты TCP из коробки - если вам нужен HTTP, вам нужно будет сделать это самостоятельно. WinSock - это простой C Windows API. – dewaffled

ответ

0

Мы фактически переместили всю базу кода, чтобы динамически связываться. Были и другие библиотеки, вызывающие некоторые проблемы, и это показалось хорошим временем для переноса базы кода. Проблема решена, по крайней мере, на данный момент. Спасибо за ответ.

Смежные вопросы