Boost Library无法在C ++中工作,包括无效的目录

时间:2017-07-14 01:51:05

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

我最近尝试在C ++ 14中安装boost库,我添加了包含路径,如:

解决方案资源管理器>项目名称>属性页> VC ++目录> “C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ boost \ boost”

我在添加之后尝试编译:

constructor(public navCtrl: NavController,public navParams : NavParams,
  public modalCtrl:ModalController,private iab:InAppBrowser
   public fb:FirebaseService) {
    const options:InAppBrowserOptions={
      location:'no',
      fullscreen:'yes'
    }
    const browser = this.iab.create('https://google.com','_system',options);

在错误列表窗口中,我可以看到#include <boost\variant.hpp> ,我无法像以前那样编译。

然后我尝试添加反斜杠,如“C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ boost \ boost \”,仍然无效。

我还阅读this帖子并明确指定了它的目录,但即使不起作用。

再一次,我阅读了this帖子并完成了与给定答案完全相同的内容(因为我已多次构建项目),但仍然没有成功。

但是,如果我包含像:

这样的库
E1696 - cannot open source file "boost\variant.hpp"

现在编译器识别它,但现在我可以在错误列表窗口中看到超过100个错误,这些错误指向boost库的头文件,而不是我的项目文件中包含#include "C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost\boost\variant.hpp"

所有这些错误都是variant.hppE1696 - cannot open source file "boost\<libraryname.hpp>"

因此,如果我从项目的头文件中删除行E1696 - cannot open source file "boost\<subdirs>\<some other files included in libraryname.hpp>",所有错误都会突然消失,项目编译正常!现在没有任何错误!

我希望无论如何都能提升,所以我可以在项目中使用它,但我无法手动编辑所有这些头文件并将#include "C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost\boost\variant.hpp"更改为原始位置。

请帮我摆脱这个问题。

1 个答案:

答案 0 :(得分:2)

  • 确保下载并安装正确的boost版本。可以在visual studio目录中安装它,但不建议这样做。我建议您使用here中的一个包。假设您使用的是Visual Studio 2017 ,您正在开发64位,this可能是适合您的正确包。
  • 确保您同时执行这两项操作:将包含搜索路径和库搜索路径添加到Visual Studio中。

include搜索路径应指向boost-installation根目录(包含Jamroot文件和boost子目录的目录)。库搜索路径应指向boost安装中的正确库子文件夹。这是以lib64-msvc-**.*开头的子文件夹之一(如果您正在为32位开发,则为lib32-msvc-*)。

上面的二进制boost包的默认安装路径会将其安装到C:\local\boost_<boost version>。确保使用此安装目录中的路径,并按照here

中的说明进行操作

示例:

  

包含搜索路径:C:\local\boost_1_64_0

     

图书馆搜索路径:C:\local\boost_1_64_0\lib64-msvc-14.1