簡體   English   中英

C ++ Visual Studio:使用pragma注釋進行鏈接

[英]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.

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