我正在尝试使用 VS2012 express 将 boost 库(boost/thread.hpp 和 boost/asio.hpp)静态链接到我的项目。构建目标设置为 Windows XP (v110_xp),带有选项多线程 (/MT)(静态链接)。在我的项目属性中正确设置了 boost 库的路径。(C:\Boost\boost_1_54_0\stage\lib) 然而,我得到以下链接器错误:
error LNK1104: file "libboost_system-vc110-mt-s-1_54.lib" cannot be opened.
我的库文件夹中确实缺少此文件。但是,当使用多线程 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 正在寻找一个永远不存在的文件?当我在谷歌上搜索错误时,我很惊讶地只得到了少量的点击,而且没有一个真正有帮助。