【问题标题】:I can't include a boost header file mapped_file.hpp in my project我的项目中不能包含 boost 头文件 mapped_file.hpp
【发布时间】:2019-10-19 17:04:23
【问题描述】:

我需要在我的项目中包含“\boost\iostreams\device\mapped_file.hpp”。我试过: #include , 但它行不通。因此,我使用了: #include "C:\path\boost\iostreams\device\mapped_file.hpp"。 结果,系统可以找到“mapped_file.hpp”文件。但是,当我构建项目时,系统会抱怨: C:\path\boost\iostreams\device\mapped_file.hpp(14):致命错误 C1083: 无法打开包含文件:'boost/config.hpp':没有这样的文件或目录 这告诉我我修复第一个错误的方式不正确。

我从使用 boost 库的存储库中下载了另一个项目。该项目已经在我的 PC 中成功构建。我PC中boost库的一切都来自这个项目,我需要使用的头文件位于“C:\path\boost\iostreams\device\mapped_file.hpp”。在这种情况下,我应该如何添加路径或包含“\boost\iostreams\device\mapped_file.hpp”来解决我当前的问题?

提前致谢!

【问题讨论】:

  • 用于编译这两个项目的命令将是需要添加的相关细节。 (或者,可以提供某些项目设置,但如何找到正确的设置取决于您使用的 IDE。)可能其中一个命令告诉编译器在哪里可以找到 Boost 头文件,而另一个则没有。即使您不知道这是在哪里完成的,这里的某个人也可能会这样做。此外,the Boost documentation 可能会有所帮助。
  • 我正在使用 Visual Studio 2012。我已经在这个板上搜索了答案,并尝试通过转到项目属性 → C/C++ → 常规 → 附加包含目录来添加到 boost 库根目录的路径.但是,我 PC 中的 boost 库来自另一个项目。因此,它并没有实际安装在我的 PC 中。
  • C:\path\boost 是我的电脑。这是另一个项目的 boost 库。我想我应该可以通过在某处添加路径来使用这个库。
  • 我认为“某处”是项目属性 → C/C++ → 常规 → 附加包含目录。那没有用吗?如果没有,请尝试放弃最后的“提升”,所以只需 C:\path
  • 我将 C:\path 添加到两个项目属性 → C/C++ → 常规 → 附加包含目录和项目属性 → 链接器 → 常规 → 附加库 ---> 目录,但它仍然抱怨:不能打开包含的文件:'\boost\iostreams\device\mapped_file.hpp'

标签: c++ boost


【解决方案1】:

我需要在我的项目中包含“\boost\iostreams\device\mapped_file.hpp”。

实际上,不,你没有。您可能需要在项目中包含 "boost\iostreams\device\mapped_file.hpp"(无前导斜杠),但该前导斜杠将使编译器无法找到头文件(除非您将 boost 安装到您的根目录——相当罕见)。

此外,请确保编译器知道在 C:\path\ 中查找包含的标头。正如 cmets 中所讨论的,这可以在 Visual Studio 2012 中通过 Project properties → C/C++ → General → Additional Include Directories 完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多