C++ Visual Studio:使用编译指示注释进行链接



我遇到了一段使用 #pragma 注释(lib,"libraryname")的代码。

为什么使用这种类型的用法,而不是仅仅从属性菜单链接库?在什么情况下需要这种用法?我在窗口中使用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并让它工作就是一个写得很好的库的标志。

最新更新