[英]C++ Visual Studio: linking using pragma comment
我遇到了一段使用#pragma comment(lib,“libraryname”)的代碼。
為什么這種用法與僅從屬性菜單鏈接庫相反? 在什么情況下需要這種用法? 我在使用C ++ Visual Studio 2010的 Windows中。
很高興看到一個需要這種用法的例子。
庫編寫器可以在公共頭(.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
magic根據你的環境有條件地引入正確的庫。
當從頭開始一個新項目時,並不是每個人都會使用你的MSVC項目,只需能夠#include
並讓它工作是一個寫得很好的庫的標志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.