我遇到了一段使用#pragma comment(lib,“libraryname”)的代码。
为什么这种用法与仅从属性菜单链接库相反?在什么情况下需要这种用法?我在使用C ++ Visual Studio 2010的Windows中。
很高兴看到一个需要这种用法的例子。
答案 0 :(得分:24)
库编写器可以在公共头(.h)文件中放置#pragma comment(lib, ...)
命令。在这种情况下,客户端不需要将此库添加到链接器依赖项列表。通过在程序中包含一个h文件,客户端将自动链接到所需的库。
答案 1 :(得分:20)
经典示例 - 链接到不同版本的库:
#if CURRENT_VERSION >= 10
#pragma comment(lib, "thirdPartyLibV2.0.lib")
#else //version < 10
#pragma comment(lib, "thirdPartyLibV1.0.lib")
#endif
答案 2 :(得分:5)
它包含在所有意义上,包括自动引入相关库的头文件。您甚至可以#ifdef..#endif
魔法根据您的环境有条件地引入正确的库。< / p>
从头开始创建一个新项目时,不是每个人都会使用你的MSVC项目,只需能够#include
并让它工作是一个写得很好的库的标志。