如何在MacOS上安装Boost?


174

如何在MacOS上安装Boost?现在,我找不到Mac的bjam。


1
您始终可以像“端口搜索<whatever>”一样尝试-如果不确定,可以提高效率。
gustafbstrom

我用过Macports和Brew。如有必要,我将它们一起使用(sudo port -t install X),但在大多数情况下,我更喜欢brew而不是macports。
Jacksonkr '16

Answers:


152

下载MacPorts,然后运行以下命令:

sudo port install boost 

2
如果您更喜欢通过根运行 sudo -s /opt/local/bin/port install boost
Pungs

2
我不认为macports已经过时,因此已经死亡。
Josef Salyer

3
怎么brew install boost boost-python办?
ilciavo 2015年

我更喜欢macports而不是brew,有了brew,任何人都可以一起拍一些狗屎配方,破坏很多图书馆。
μολὼν.λαβέ

如何通过Homebrew答案接受这一点?这对我来说毫无意义……

261

您可以使用Homebrew获得最新版本的Boost 。

brew install boost


8
不同的人需要多长时间?用2 GB RAM占用了我48分钟,不确定是哪个CPU。
卢克·斯坦利

5
如今,@ LukeStanley AFAIK Homebrew将预编译的软件包(“瓶”)用于Boost,这使得安装只需几秒钟。
菲利普

8
几秒钟?我使用的是Mountain Lion,2.9GHz处理器,8GB RAM,并且15分钟后仍无法完成安装。
user1255933

8
花了大约一分钟
rp.beltran '16

2
嗨,不错的答案!如果我想安装boost@1.58怎么办?自制软件没有1.58吗?
GoingMyWay

100

只需获取源代码,然后编译Boost自己即可;它变得非常容易。这是撰写本文时当前macOS上当前版本的Boost的示例:

  1. https://www.boost.org/users/download/#live下载.tar.gz
  2. 打开包装并进入目录:

    tar -xzf boost_1_50_0.tar.gz
    cd boost_1_50_0

  3. 配置(并构建bjam):

    ./bootstrap.sh --prefix=/some/dir/you/would/like/to/prefix
  4. 建立:

    ./b2
  5. 安装:

    ./b2 install

根据脚本在步骤3中选择的前缀,如果脚本尝试将文件复制到受保护的位置,则可能需要sudo步骤5。


3
如果需要针对boost_thread进行链接,则为最佳途径。标准的酿造配方似乎没有包含它。
韦奇·马丁

如果要在默认运行时环境ok上安装依赖于boost的其他可执行文件,请使用其他答案,在任何其他情况下,请使用此答案。最适合您了解何时使用boost进行编译以及如何进行。您将获得它应有的状态。最重要的是,它将迫使您考虑在持续集成(Build)服务器上的提升位置,以及是否还有部署服务器。
wdavilaneto

您能解释一下步骤3吗?@snies
MAS

@MAS(我今天没有尝试过。但是bootstrap.sh应该随tar.gz文件一起提供。它配置构建过程并创建bjam构建工具。“ prefix”是构建工具的常用选项,前缀为安装路径,这意味着,如果要在/ bin中安装文件,则会在发出安装命令时将其安装在/ prefix / bin中,您可以使用它来避免权限问题。例如,我安装了optional包我用在/ home / snies的/ opt / bin,而不使用/ bin中,所以我并不需要root权限的开发和不要弄乱我的系统。
snies

6

除非您的编译器不同于Mac XCode Dev工具提供的编译器,否则请按照Unix变体入门指南 5.1节中的说明进行操作。配置和构建最新源代码再简单不过了,整个过程大约花费了1分钟,而编译则花费了10分钟。


5

芬克似乎拥有全套的Boost软件包...

安装了芬克并运行后

fink install boost1.35.nopython

在终端上并接受它坚持的依赖关系。或使用

fink list boost

获取可用的不同软件包的列表。



5

从Mac应用商店中安装Xcode。然后使用以下命令:

  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

以上将安装自制程序,并允许您在终端中使用brew

然后只需使用命令:

brew install boost

然后将boost库安装到 <your macusername>/usr/local/Cellar/boost


4

为了避免编译需要在系统中安装boost的第三方库的麻烦,请运行以下命令:

sudo port install boost +universal

4

尝试 +universal

有一点需要注意:为了让该有所作为,你需要有内置python+universal,如果你没有,或者你不知道你可以重建python +universal。这适用于brewmacports

$ brew reinstall python
$ brew install boost

要么

$ sudo port -f uninstall python
$ sudo port install python +universal
$ sudo port install boost +universal

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.