5

我从 boostpro 为 VC9 安装了 boost v1.47 DLL (MT, Debug)。我的#include代码<boost/regex.hpp>。当我尝试构建时,VC 给了我LNK1104 cannot open file libboost_regex-vc90-mt-gd-1_47.lib,即使boost_1_47/lib已添加到Additional Library Dependencies(双引号中)。问题似乎是目录中的库的名称不是libboost_regex-vc90-mt-gd-1_47.lib,而是简单boost_regex-vc90-mt-gd-1_47.lib的。

如何让 VC 省略前导 'lib' ?任何帮助将不胜感激。

提前致谢

4

1 回答 1

3

在 Boost 中,lib 前缀表示库是为静态链接还是动态(共享)链接构建的。为了表明您想要动态链接库(正如没有 lib 前缀的名称所暗示的那样),请定义BOOST_ALL_DYN_LINK.

在 Visual Studio 中,转到项目的设置,然后选择配置属性> C/C++ >预处理器页面。添加BOOST_ALL_DYN_LINK预处理器定义

另请参阅此相关问题:https ://stackoverflow.com/a/2521866/483776

于 2014-07-24T20:29:00.403 回答