我很难生成正确的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文件的建议都将不胜感激。非常感谢。
发布于 2016-03-01 20:59:00
只要你链接到静态版本的boost库,就应该使用link=static。link=shared -无论何时动态链接到boost,都应该使用。它将添加对boost dll的额外依赖。
您也可以使用link=static,shared来构建两个版本-静态和动态。
在项目中定义'BOOST_ALL_DYN_LINK‘控制如何链接到boost。如果它被定义了-它是动态链接,如果没有定义-它就是静态链接。
https://stackoverflow.com/questions/27837033
复制相似问题