首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >boost库1.47.1内部版本'lib‘前缀导致LNK1104错误

boost库1.47.1内部版本'lib‘前缀导致LNK1104错误
EN

Stack Overflow用户
提问于 2015-01-08 17:43:46
回答 1查看 543关注 0票数 3

我很难生成正确的boost .lib文件,以便用我得到的VS项目进行编译。在VS2010命令提示符下使用'b2.exe‘执行完整的构建安装后,我只能生成包含'lib’前缀的boost库文件。

当我开始编译我的项目时,我得到了以下错误信息:"error LNK1104: cannot open file 'boost_signals-vc90-mt-1_47.lib'“

浏览完lib文件夹后,我可以看到我的boost构建只生成了‘libboost vc90-mt-1_47.lib’。

boost文档提供了有关lib前缀的以下信息:

lib前缀:除Microsoft Windows外,每个Boost库名称都以此字符串开头。在Windows上,只有普通的静态库使用lib前缀;导入库和DLL不使用前缀。

到目前为止,我已经尝试了msvc-9.0工具集的以下构建选项:' build -type=complete‘'link=static,shared’

任何关于我如何能够生成所需的.lib文件的建议都将不胜感激。非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2016-03-01 20:59:00

只要你链接到静态版本的boost库,就应该使用link=static。link=shared -无论何时动态链接到boost,都应该使用。它将添加对boost dll的额外依赖。

您也可以使用link=static,shared来构建两个版本-静态和动态。

在项目中定义'BOOST_ALL_DYN_LINK‘控制如何链接到boost。如果它被定义了-它是动态链接,如果没有定义-它就是静态链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27837033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档