我很难生成正确的boost .lib文件,以便在我已经给出的VS项目中进行编译。在使用' b2.exe'执行完整的构建安装后,似乎从VS2010命令提示符我只能生成包含' lib'的提升库文件。前缀。
当我编译项目时,我收到以下错误消息: "错误LNK1104:无法打开文件' boost_signals-vc90-mt-1_47.lib'"
浏览完lib文件夹后,我发现我的boost版本只生成了' libboost_signals-vc90-mt-1_47.lib'
boost文档提供了有关lib前缀的以下信息:
LIB 前缀:除Microsoft Windows外,每个Boost库名称都以此字符串开头。在Windows上,只有普通的静态库使用lib前缀;导入库和DLL没有。
到目前为止,我已尝试使用msvc-9.0工具集的以下构建选项: '建立型=完全' '链接=静态的,共享'
有关如何生成所需.lib文件的任何建议将不胜感激。 非常感谢。
答案 0 :(得分:0)
link = static。 link = shared - 只要你动态链接到boost,就应该使用它。它将在boost dll上添加额外的依赖项。
您还可以使用link = static,shared来构建两个版本 - 静态和动态。
在项目中定义'BOOST_ALL_DYN_LINK'控制你如何链接到提升。 如果它被定义 - 它是动态链接,如果没有定义 - 它是静态链接。