我正在尝试使用VS2012 express将boost库(boost / thread.hpp和boost / asio.hpp)静态链接到我的项目。使用选项Multithreaded(/ MT)(静态链接)将构建目标设置为Windows XP(v110_xp)。在我的项目属性中正确设置了boost库的路径。 (C:\ Boost \ boost_1_54_0 \ stage \ lib)然而,我收到以下链接器错误:
error LNK1104: file "libboost_system-vc110-mt-s-1_54.lib" cannot be opened.
我的库文件夹中确实缺少此文件。但是,当使用Multithreaded-DLL(/ MD)选项动态链接时,一切都很好。我最初使用如下所述的简单构建方法构建boost库:http://www.boost.org/doc/libs/1_54_0/more/getting_started/windows.html#simplified-build-from-source
bootstrap
.\b2
由于缺少静态库,我打电话给:
b2 --link=static
如此处所述:http://www.boost.org/boost-build2/doc/html/bbv2/tutorial/linkage.html
执行时没有错误,但似乎没有构建任何新内容。我错过了什么?或者VS正在寻找一个从未存在过的文件?当我在Google上搜索错误并且没有一个真正帮助时,我很惊讶只得到了一些点击。
答案 0 :(得分:2)
使用以下参数调用b2
:
link=static runtime-link=static
请注意,link
和runtime-link
之前没有连字符。