Visual Studio 2017 C ++项目中的Boost C ++库-“无法打开包含文件”

时间:2019-03-01 01:56:52

标签: c++ visual-studio visual-c++ boost

我试图将Boost C ++库添加到使用Visual Studio 2017创建的C ++项目中。

我已按照here的说明进行操作。 如果不起作用,我尝试了this post中的建议。两种解决方案都不适合我。

我做了什么:

  • 下载了boost_1_69_0-msvc-14.1-64.exe from this precompiled boost libraries page
  • 已安装到D:\local\boost_1_69_0
  • 在我的项目中,我将D:\local\boost_1_69_0添加到属性> VC ++目录>包括目录,并将D:\local\boost_1_69_0\lib64-msvc-14.1添加到属性> VC ++目录>库目录
  • 我将项目设置为 x64 ,并且以上设置是在 x64 配置中设置的。

当我尝试构建项目时,出现此错误:

  

错误C1083无法打开包含文件:'boost / regex.hpp':没有这样的文件或目录

哪个指向我的.cpp文件中的这一行代码:

#include <boost/regex.hpp>

3 个答案:

答案 0 :(得分:2)

请转到 D:\ local \ boost_1_69_0 文件夹,查看其中是否有一个名为 include 的子文件夹。如果这样做,那么您需要在属性> VC ++目录>包含目录中设置 D:\ local \ boost_1_69_0 ,而不是 D:\ local \ boost_1_69_0

换句话说,尝试在硬盘上找到要包含的文件。查看文件的完整路径。将该完整路径与您添加到包含目录列表中的路径(属性> VC ++目录>包含目录)进行比较,该路径与您在include指令(提高)。看看两者是否相同。

如果这样做没有帮助,请确保已更改与尝试构建时相同的构建配置的包含目录列表(如果构建Debug,请确保也更改了Debug的配置)。由于VS 2015 IDE停止确保同步选择两者,这很烦人。

答案 1 :(得分:0)

如果文件被复制,则必须编译常规库。...如果同一版本的编译器复制了计算机。

答案 2 :(得分:0)

发现它失败了,因为我在没有设置Include / Library文件夹的单元测试项目中包含了具有增强包含功能的.cpp文件。我原来的问题中的设置现在可以使用。