2

我正在尝试使用 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 正在寻找一个永远不存在的文件?当我在谷歌上搜索错误时,我很惊讶地只得到了少量的点击,而且没有一个真正有帮助。

4

1 回答 1

2

b2使用以下参数调用:

link=static runtime-link=static

link请注意,和之前没有连字符runtime-link

于 2013-10-07T14:18:04.370 回答