由于lib前缀,链接到Boost库失败

时间:2012-05-11 10:28:49

标签: boost linker

我从boostpro为VC9安装了boost v1.47 DLL(MT,Debug)。我的代码#include's。当我尝试构建时,VC给我'LNK1104无法打开文件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 个答案:

答案 0 :(得分:3)

在Boost中,lib前缀表示库是为静态链接还是动态(共享)链接构建的。要指示您要动态链接库(如没有lib前缀的名称所示),请定义BOOST_ALL_DYN_LINK的预处理程序指令。

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

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