【发布时间】:2017-07-14 01:51:05
【问题描述】:
我最近尝试在 C++ 14 中安装 boost 库,并添加了它的包含路径,例如:
解决方案资源管理器 > 项目名称 > 属性页 > VC++ 目录 > "C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost\boost"
添加后我尝试编译:
#include <boost\variant.hpp>
在错误列表窗口中,我可以看到E1696 - cannot open source file "boost\variant.hpp",但我无法像以前那样编译。
然后我尝试添加像 "C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost\boost\" 这样的反斜杠,仍然没有用。
我还阅读了this 的帖子并明确指定了它的目录,但甚至没有用。
我再次阅读了this 的帖子,并做了与给定答案完全相同的操作(因为我已经多次构建项目),但仍然没有成功。
但是,如果我包含如下库:
#include "C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost\boost\variant.hpp"
现在编译器可以识别它,但是现在我可以在错误列表窗口中看到超过 100 个错误,这些错误指向 boost 库的头文件,而不是在包含 variant.hpp 的项目文件中。
所有这些错误都是E1696 - 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",所有错误都会突然消失并且项目编译正常!现在没有任何错误!
无论如何我都希望 boost 能够工作,所以我可以在项目中使用它,但我无法手动编辑所有这些头文件并将 <boost\... 更改为原始位置。
请帮我解决这个问题。
【问题讨论】:
-
您不应将 boost 放入您的 Visual Studio 安装中。接下来,您需要将包含 boost 的文件夹添加到您的包含文件夹中。
-
@drescherjm 我在尝试使用外部驱动器 (E:) 并在失败后执行此操作!
-
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost\boost" 是添加到包含路径的错误文件夹。它应该是“C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost\”
-
我在尝试使用外部驱动器 (E:) 并失败后执行此操作! 您可能犯了相同的路径错误。
-
不要使用 VC++ 目录。尝试使用
c++>General>Additional Include Directories并使用C:\Program Files (x86)\Microsoft Visual Studio 14.0\boost,正如drescherjm 所说。此外,您需要在所有包含之间使用分号。
标签: c++ boost visual-studio-2017