Автоматически указывайте .LIB в заголовке для Visual Studio 2008 C ++ - PullRequest
5 голосов
/ 26 мая 2011

Можно ли автоматически связать статическую библиотеку c ++ в Visual Studio 2008?Или есть улучшение по сравнению со стандартным подходом?

Я занимаюсь разработкой набора библиотек c ++, и связывание / тестирование их - довольно трудная задача.Обычный подход заключается в указании файлов .lib в тестовых клиентах, но теперь список стал довольно большим (мои собственные библиотеки, opencv, boost и другие), и я всегда что-то упускаю при переключении между режимами отладки и выпуска, gpu и non-gpu и т. д. Когда я открываю компоновщик в свойствах проекта, список прокручивается на некоторое время.

Я надеялся, что смогу автоматически указать, что если клиент #include что-то, что проект должентакже ссылка на указанный .lib (отладка / выпуск).Возможно ли это или есть альтернативный подход, который поможет управлять связью с минимальным взаимодействием с пользователем?

1 Ответ

5 голосов
/ 26 мая 2011

Используйте #pragma comment(lib, "name_of_the_library.lib").Другие полезные опции для #pragma comment можно найти на странице MSDN .

Что касается конфигурации отладки и выпуска: обычно для распознавания используется макрос препроцессора _DEBUG.Заголовок Visual C ++, безусловно, использует его для той же цели, что и вы;например, это из файла VC ++ 2010 use_ansi.h:

#ifdef _DEBUG
#pragma comment(lib,"msvcprtd")
#else   /* _DEBUG */
#pragma comment(lib,"msvcprt")
#endif  /* _DEBUG */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...