由于lib前缀的原因,连接到Boost库失败

5
我安装了来自boostpro的VC9版本,MT模式下的v1.47 DLL(Debug)。我的代码包含了<boost/regex.hpp>头文件。当我尝试构建时,VC会给出LNK1104 cannot open file libboost_regex-vc90-mt-gd-1_47.lib的错误提示,即使已将boost_1_47/lib添加到附加库目录(用双引号括起来)。问题似乎是目录中库文件的名称不是libboost_regex-vc90-mt-gd-1_47.lib,而只是boost_regex-vc90-mt-gd-1_47.lib

如何让VC忽略前缀'lib'? 真心感谢您的帮助。

提前致谢。

1个回答

3
在Boost中,lib前缀表示库是为静态链接还是动态(共享)链接构建的。如果要指示您希望动态链接库(如不带lib前缀的名称所示),请定义BOOST_ALL_DYN_LINK预处理器指令。
在Visual Studio中,转到项目设置,并选择配置属性>C/C++>预处理器页面。将BOOST_ALL_DYN_LINK添加到预处理器定义中。
另请参阅此相关问题:https://dev59.com/9nE85IYBdhLWcg3w_Ipr#2521866

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接