19

我不能在 xcode 中包含 boost。我使用了 Boost 文档中的构建说明,并在 xcode /usr/local/lib 和 /usr/local/include 中编写了搜索路径。

请提供任何帮助!

4

4 回答 4

40

我花了很长时间试图完成这项工作。我无法使用从 Boost 项目主页下载的内容使其工作,因此我使用了自制软件

安装自制软件后,我使用以下方法安装了 Boost:

brew install boost 

或者,如果您没有安装 python,请使用:

brew install boost --without-python

没有 --without-python 它不会安装在我的机器上。

  1. 在 XCode (4.3.3) 中,选择左侧边栏中的项目文件(最顶部),然后在项目窗格中再次选择它。
  2. 选择构建设置选项卡,然后选择全部。
  3. 在搜索路径下,添加标题搜索路径/usr/local/Cellar/boost/1.49.0/include/并选中该框。该路径现在应该显示在构建设置中。

现在,您可以使用:

#include <boost/regex.hpp>

或者任何你需要的 Boost 包。


如果您已经安装了 boost,请使用$ brew info boost获取正确的路径:

boost: stable 1.60.0 (bottled), HEAD
Collection of portable C++ source libraries
https://www.boost.org/
/usr/local/Cellar/boost/1.60.0_1 (11,139 files, 436.5M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/boost.rb
于 2012-07-01T14:59:59.650 回答
11

我在 mac os 10.6.8 上使用带有 Xcode 3.2.1 的 boost

我今天在使用 boost 和 Xcode 时遇到了问题,最后我设法让它工作了,所以我希望这会有所帮助:

  1. 下载boost,我今天拿到了1.52.0,解压

  2. 安装提升:

    起初我做不到./bootstrap.sh,它在前几行之后就停止了。google了一下,得到了答案,是因为很久以前安装Xcode的时候,不知什么原因没有勾选安装选项中的“Unix开发”。此时,重新安装新版本的Xcode,检查“unix开发线”

    之后,./bootstrap./b2安装工作正常

  3. 拉姆达示例:

    此时,第一个示例应该可以正常工作,如果它没有尝试/usr/local/include在项目设置/标题搜索路径中添加

  4. 使用线程或其他需要构建的东西

    线程需要特定的 dylib 才能工作:libboost_system.dylib。在我的系统上,它位于thingy/usr/local/lib之后./b2 install

    在 GUI 的左侧,您可以右键单击任意位置并选择 Add Existing File

    如果文件被隐藏,你可以在目录中找到一个快捷方式来访问 usr/local/lib/Developer/SDKs/MacOSX10.6.sdk/usr/local

一旦libboost_system.dylib确实出现在 GUI 的组和文件部分中,它应该可以工作

于 2012-12-25T01:29:10.237 回答
11

我关注了 henrikstroem 的精彩帖子,如下所示:

通过homebrew安装,不到 3 分钟

mac:~ woz$ brew install boost
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/boost-1.57.0.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring boost-1.57.0.yosemite.bottle.tar.gz
  /usr/local/Cellar/boost/1.57.0: 10572 files, 439M
mac:~ woz$

在您的主目录中创建符号链接

mac:~ woz$ cd
mac:~ woz$ ln -s /usr/local/Cellar/boost/1.57.0 boost_1_57_0
mac:~ woz$ 

在 Xcode 内部,像这样引用刚刚创建的符号链接

用于提升的 Xcode 构建设置

为了Header Search Paths使用$(HOME)/boost_1_57_0/include

为了Library Search Paths使用$(HOME)/boost_1_57_0/lib

于 2015-09-19T22:24:08.937 回答
6
mic@mbp: ~/work $ brew install boost
mic@mbp: ~/work $ ls -l /usr/local/include/boost
lrwxr-xr-x  1 mic  wheel  36 Nov 27 01:06 /usr/local/include/boost -> ../Cellar/boost/1.56.0/include/boost

嗨,我添加/usr/local/includeHeader Search Paths双击它,但调试或其他子检查),然后

#include <boost/asio.hpp>
#include <boost/date_time.hpp>

using namespace boost;

int main() {
    asio::io_service io;

    io.run();
    return 0;
}

工作,:D

于 2014-12-26T04:53:04.563 回答