繁体   English   中英

链接到VS2012中的Boost Regex库

[英]Linking to Boost Regex library in VS2012

我正在尝试使用Boost Regex库构建VS2012 C ++项目。 看来链接器找不到该库并给出错误:

error LNK1104: cannot open file 'libboost_regex-vc110-mt-gd-1_50.lib'

在“项目属性:链接程序:常规:附加库目录”中,我包含了一个路径(在子目录内),该路径包含一个名为boost_regex.lib的库。

这是由第3方框架(FireBreath)构建的,我不应该更改它。 如何使VS2012使用此库而不是在错误中引用的名称下查找该库?

首先,是什么让您确定boost_regex.lib是正确的? 它甚至适用于您的编译器和版本吗? 我也怀疑它是否适用于运行时库的调试变量。 我的猜测是,您将必须为正在使用的编译器构建此文件并正确安装它,Boost网站上提供了相关说明。 假设这也是一个C ++库,这也可能意味着为编译器重建FireBreath。

然后,Boost中检测到编译器设置,然后选择要链接的库的代码对于正常设置是正确的。 该代码使用“ #pragma comment(lib,...)”来指定要链接的库,因此您应该能够找到该代码。 在这里,您还应该能够检测到关闭此功能的宏。 但是,您可能并没有解决任何问题,而是在制造更多问题。

替换库不是您要执行的操作。 代替:

  • 将Boost下载到c:\\boost
  • 打开VS命令提示符,进入c:\\boost并运行bjam 完成后,运行b2 等待。
  • 现在进入您的项目,并将c:\\boost\\stage\\lib到“其他库目录”设置。

这将允许您构建项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM