簡體   English   中英

如何配置visual studio 2008以根據配置選擇正確的.lib?

[英]How to configure visual studio 2008 to select the correct .lib based on configuration?

assimp的分發附帶一個lib文件夾。 此文件夾包含以下子文件夾:

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

每個文件夾都有一個文件assimp.lib。 如何根據我的配置(調試/發布)包含正確的lib? 目前,assimp位於我項目之外的文件夾中,我已經添加了Tools-> Options-> VC ++ Directories-> Library files的路徑,但我不確定它的工作原理。

您應該將庫目錄添加到項目本身,而不是作為visual studio中的全局設置。

為此,您可以右鍵單擊解決方案資源管理器中的項目。 然后在VC ++目錄部分下,添加正確的assimp路徑。 您應該只將與當前(即調試或發布/ win32或x64)設置相對應的路徑添加到此列表中。 頂部應該有一個下拉菜單,用於選擇您正在編輯的當前配置。

無論如何這適用於VS2010,我對VS2008並不是100%肯定。 如果VC ++目錄部分不存在,則庫路徑可能位於“項目設置” - >“鏈接器” - >“常規” - >“其他庫目錄”下。

您應該使用屬性 - >鏈接器 - >其他包含目錄來為每個構建配置分支包含路徑。 這將解決您的問題。

第二個選項是使用#pragma comment(lib,"<lib name>")並使用要鏈接到的庫的路徑,然后使用#if/#endif您可以根據當前構建版本進行分支。

您可以使用依賴性walker,進程資源管理器或任何調試器來測試它。

您可以使用預處理程序指令來執行此操作:

#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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM