【问题标题】:boost headers not found issue in mac os x在 mac os x 中找不到 boost headers 问题
【发布时间】:2015-03-20 16:13:57
【问题描述】:

虽然包括 boost 标头,但我没有找到类似以下的错误-

 fatal error: boost/config.hpp: No such file or directory
 #include <boost/config.hpp>

我使用的是 Mac OS X 10.9,并通过 brew 安装了 boost。我可以在 /usr/local/include/boost 文件夹中看到所有的 boost 标头。我该如何解决这个问题?

提前致谢。

【问题讨论】:

  • make 输出日志可能有助于其他人对错误有更多了解

标签: macos boost compiler-errors include homebrew


【解决方案1】:

假设/usr/local/include/boost/config.hpp存在,需要在编译器include搜索路径中加入/usr/local/include;对于 gcc,您可以通过将 -I /usr/local/include 添加到命令行(或 makefile 的相关部分)来执行此操作。

你使用的是什么编译器,你是通过自制软件安装的吗?

【讨论】:

  • 我使用自制软件安装了 GCC 4.9。有没有办法检查与 GCC 关联的包含目录?由于 /usr/local/include 是 homebrew 头文件的默认位置,我认为 GCC 会自动从那里获取头文件。
  • 我刚刚找到了检查来自stackoverflow.com/questions/19852199/… 的包含路径的方法......并且 /usr/local/include 在那里。
【解决方案2】:
  • 确保使用正确的编译器 - 只需 gcc 获取 Apple 的 clang 的包装,/usr/local/bin/gcc-4.9 是您使用 brew 安装的
  • 您是否在编译中添加了 -I /usr/local/include ?
  • 如前所述,完整转储错误消息会很有帮助

【讨论】:

    【解决方案3】:

    转到以下文件夹并找到已安装的 boost 库文件夹。我将我的粘贴为示例文件夹路径;

    /usr/local/Cellar/boost/1.67.0_1
    

    您需要找到最新的 boost 文件夹。如果没有,你应该通过 brew 安装 boost 库

    brew install boost
    

    我假设您正在为您的项目使用 Xcode。完成上述步骤后,您需要将正确的 boost 文件夹路径添加到您的 Xcode 项目中。打开您的 Xcode 项目,转到 "Header Search Paths" 并添加 boost 文件夹的父文件夹路径。检查我附加的屏幕截图(ss-1 ss-1)。

    例如/usr/local/Cellar/boost/1.67.0_1/include/ 用于 标头搜索路径 (ss-2 ss-2)

    此外,您需要在 Xcode 项目中添加 Library Search Paths。 例如/usr/local/Cellar/boost/1.67.0_1/lib/ 用于 库搜索路径 (ss-3 ss-3)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 2011-10-11
      • 1970-01-01
      • 2015-07-02
      • 2014-01-24
      相关资源
      最近更新 更多