我遇到了一段使用#pragma評論(lib,「libraryname」)的代碼。C++ Visual Studio:使用編譯指示鏈接評論
爲什麼這種用法與僅從屬性菜單鏈接庫相反?這種用法在什麼情況下需要?我在使用C++ Visual Studio 2010的窗口中。
很高興看到一個需要這種用法的例子。
我遇到了一段使用#pragma評論(lib,「libraryname」)的代碼。C++ Visual Studio:使用編譯指示鏈接評論
爲什麼這種用法與僅從屬性菜單鏈接庫相反?這種用法在什麼情況下需要?我在使用C++ Visual Studio 2010的窗口中。
很高興看到一個需要這種用法的例子。
庫編寫器可以在公共頭文件(.h)文件中放置#pragma comment(lib, ...)
命令。在這種情況下,客戶端不需要將此庫添加到鏈接器依賴項列表中。通過在程序中包含一個h文件,客戶端會自動鏈接到所需的庫。
經典的例子 - 連接在不同版本的庫:
#if CURRENT_VERSION >= 10
#pragma comment(lib, "thirdPartyLibV2.0.lib")
#else //version < 10
#pragma comment(lib, "thirdPartyLibV1.0.lib")
#endif
它包含在這個意義上,所需要的是包括相關的庫中的頭文件中自動拉你甚至可以做#ifdef..#endif
魔法有條件地根據您的環境引入正確的庫。
並非所有人都會在從頭開始一個新項目時使用MSVC項目,只需能夠使用#include
並且它能夠工作就是寫得很好的庫的標誌。
我是否還需要在這種情況下將庫添加到visus sutudio項目中? – user1612986
不,但圖書館必須在可用的圖書館搜索路徑 – WhozCraig
謝謝彼得。這很有幫助。 –