Как настроить Visual Studio 2008 для выбора правильного .lib в зависимости от конфигурации? - PullRequest
1 голос
/ 23 ноября 2011

В дистрибутив assimp входит папка lib. Эта папка имеет следующие подпапки:

assimp_debug-dll_win32
assimp_debug-dll_x64
assimp_release-dll_win32
assimp_release-dll_x64

Каждая из этих папок имеет один файл, assimp.lib. Как я могу включить правильную библиотеку, основанную на моей конфигурации (отладка / выпуск)? В настоящее время assimp находится в папке за пределами моего проекта, и я добавил пути к Tools-> Options-> VC ++ Directories-> Library files, но я не уверен, что он работает.

Ответы [ 3 ]

2 голосов
/ 23 ноября 2011

Вы должны добавить каталоги библиотек в сам проект, а не в качестве глобального параметра в visual studio.

Для этого вы можете щелкнуть правой кнопкой мыши по проекту в обозревателе решений. Затем в разделе каталогов VC ++ добавьте правильный путь к assimp. Вы должны просто добавить в этот список путь, который соответствует текущей (то есть отладке или выпуску / win32 или x64) настройке. Вверху должен быть раскрывающийся список, чтобы выбрать текущую конфигурацию, которую вы редактируете.

В любом случае это относится к VS2010, я не уверен на 100% насчет VS2008. Путь к библиотеке может быть в разделе «Параметры проекта» -> «Компоновщик» -> «Общие» -> «Дополнительные каталоги библиотеки», если раздел каталогов VC ++ не существует.

1 голос
/ 23 ноября 2011

Вы можете сделать это, используя директивы препроцессора:

#ifdef __DEBUG
#pragma comment(lib,"c:/Path/assimp_debug-dll_win32/assimp.lib")
#else
#pragma comment(lib,"c:/Path/assimp_release-dll_win32/assimp.lib")
#endif
1 голос
/ 23 ноября 2011

Вы должны разветвлять пути включения для каждой конфигурации сборки, используя свойства -> компоновщик -> дополнительные каталоги включения. это решит вашу проблему.

вторым вариантом является использование #pragma comment(lib,"<lib name>") и использование пути к библиотеке, на которую вы хотите сослаться, затем, используя #if/#endif, вы можете переходить на основе текущей версии сборки.

вы можете протестировать его с помощью обходчика зависимостей, проводника процессов или любого отладчика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...