在 mac os x 中未找到 boost 标头问题

问题描述 投票:0回答:4

在包含 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 标头。我该如何解决这个问题?

提前致谢。

macos boost compiler-errors include homebrew
4个回答
13
投票

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

您使用的是什么编译器,是通过自制程序安装的吗?


2
投票
  • 确保使用正确的编译器 - 只是 gcc 获得 Apple 的 clang 的包装器,/usr/local/bin/gcc-4.9 是你用brew安装的
  • 您是否在编译中添加了 -I /usr/local/include ?
  • 如前所述,错误消息的完整转储会很有帮助

2
投票

进入以下文件夹,找到安装的boost库文件夹。我将我的粘贴为示例文件夹路径;

/usr/local/Cellar/boost/1.67.0_1

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

brew install boost

我假设您正在为您的项目使用 Xcode。完成上述步骤后,您需要将正确的 boost 文件夹路径添加到您的 Xcode 项目中。打开 Xcode 项目,转到 “标题搜索路径” 并添加 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)


0
投票

在项目导航器中选择您的项目名称,然后在搜索路径下的构建设置选项卡中,双击标题搜索路径右侧,然后输入完整路径:/usr/local/Cellar/boost/1.84.0_1/ include/ 系统上的文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.