在Windows 10 VS2015上构建Boost - 无法打开* .lib

时间:2016-05-21 10:34:35

标签: c++ boost

我还不是很精通C ++,并且一直在寻找创建一个小项目来更好地习惯语言等等。

由于我想要做的事情涉及大量的磁盘扫描和文件,我决定查看Boost库,特别是文件系统库。

我一直在使用本指南:

http://www.boost.org/doc/libs/1_61_0/more/getting_started/windows.html

我在Windows 10上使用Microsoft工具,包括Visual Studio 2015。

我以zip格式下载了boost并解压缩到:

filters.Add(new (HanldeErrorAttribute());

然后运行描述的命令:

G:\C++\boost\boost_1_61_0

当最后一个命令完成底部的小报告消息时:

> bootstrap

> .\b2

> b2 --build-dir="G:\C++\boost-build" --build-type=complete msvc stage

我不知道这是否意味着问题。

到目前为止,一切似乎都有效,直到我开始尝试使用二进制文件(指南中的第6步)。

我添加了步骤6.1中描述的其他...failed updating 224 targets... ...skipped 20 targets... ...updated 3804 targets... 目录。虽然我所拥有的lib目录位于lib目录中,而不是指南中描述的boost根目录。

我将此添加到"其他包含目录",以便字符串现在看起来像:

stage

重新编译时,如果删除第一个条目,我会收到此错误:

G:\C++\boost\boost_1_61_0;G:\C++\boost\boost_1_61_0\stage\lib

当我使用两个路径进行编译时,我得到:

C1083 Cannot open include file: 'boost/regex.hpp': No such file or directory

我已确认名为的文件位于此处的目录中:

LNK1104 cannot open file 'libboost_regex-vc140-mt-1_61.lib'

现在很困惑。我在这做错了什么?

是否有更好的指南可供遵循?本指南似乎谈论VS2003和2005。

任何建议都会很棒。

1 个答案:

答案 0 :(得分:2)

如名称所示,“其他包含目录”适用于您希望#include的文件,在您的情况下是G:\C++\boost\boost_1_61_0目录。

链接器不会在“其他包含目录”中搜索库,因为这些库不适用于库,因此无法找到增强库。

链接器在“Additional Library Directories”中搜索所需的库,因此您应该将路径放在那里的库中,即G:\C++\boost\boost_1_61_0\stage\lib

该酒店位于Linker -> General