我遇到了一段使用#pragma comment(lib, "libraryname") 的代码。
为什么使用这种类型的用法而不是仅从属性菜单链接库?在什么情况下需要这种用法?我在使用 C++ Visual Studio 2010的 Windows 中。
很高兴看到一个需要这种用法的示例。
我遇到了一段使用#pragma comment(lib, "libraryname") 的代码。
为什么使用这种类型的用法而不是仅从属性菜单链接库?在什么情况下需要这种用法?我在使用 C++ Visual Studio 2010的 Windows 中。
很高兴看到一个需要这种用法的示例。
库编写器可以将#pragma comment(lib, ...)
命令放在公共头 (.h) 文件中。在这种情况下,客户端不需要将此库添加到链接器依赖项列表中。通过在程序中包含一个 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
并让它工作就是一个编写良好的库的标志。