这就是我所做的:
- 从 boost 网站下载 1.54 zip 文件
- 将其提取/复制到 C:\Program Files (x86)\Boost
- 在 Visual Studio 中,我将包含库设置为:C:\Program Files (x86)\Boost\boost_1_54_0\boost_1_54_0\
(这似乎可以让编译器接受库)
现在我遇到了问题 - 链接器:
- 在 Visual Studio 中,我已将链接器包含目录设置为:C:\Program Files (x86)\Boost\boost_1_54_0\boost_1_54_0\libs\
当我编译我的项目时,我得到:
致命错误 LNK1104:无法打开文件“libboost_date_time-iw-mt-sgd-1_54.lib”
编辑使用下面的答案构建了 boost 二进制文件。但是我现在有这些文件:
libboost_date_time-vc110-1_54.lib
libboost_date_time-vc110-gd-1_54.lib
libboost_date_time-vc110-mt-1_54.lib
libboost_date_time-vc110-mt-gd-1_54.lib
libboost_date_time-vc110-mt-s-1_54.lib
libboost_date_time-vc110-mt-sgd-1_54.lib
libboost_date_time-vc110-s-1_54.lib
libboost_date_time-vc110-sgd-1_54.lib
但仍然没有
'libboost_date_time-iw-mt-sgd-1_54.lib'
编辑:认为我发现了问题:
http://lists.boost.org/Archives/boost/2004/08/70114.php
好的,问题来了:最初我们有一个英特尔工具集:“intel-win32”,它创建了库后缀“iw”(注意没有版本号!),这就是自动链接头当前搜索的内容。
然而,人们已经开始添加版本化的英特尔工具集,这意味着我们现在生成了一个临时混合的库名称,有些带有编译器版本后缀,有些没有,自动链接代码可以处理任何一种形式,但因为它不是通灵的,所以它可以t同时处理:-(
解决方案是#define BOOST_ALL_NO_LIB