使用gcc编译的osx conda install boost

kil*_*les 5 macos boost conda

我正在尝试在osx上使用anaconda安装boost.具体来说,我必须使用它gcc(而不是默认的osx clang).有没有人知道如何做到这一点,或者甚至可以使用conda?理想情况下,我想要两个单独的boost库,一个用于编译,gcc另一个用clang.

you*_*ans 2

编辑:

假设anaconda安装在

/Users/you/anaconda
Run Code Online (Sandbox Code Playgroud)

以下步骤应该允许您使用 anaconda 的 gcc 编译器绑定通过 python 编译 boost:

修复 anaconda 库:

install_name_tool -id /Users/you/anaconda/lib/libpython2.7.dylib /Users/you/anaconda/lib/libpython2.7.dylib
Run Code Online (Sandbox Code Playgroud)

(重新)编译 boost python

mkdir /Users/you/tmp
cd /Users/you/tmp
wget http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.tar.bz2/download
mv download boost_1_57_0.tar.bz2
tar xvjf boost_1_57_0.tar.bz2
mkdir /Users/you/anaconda_boost_install
cd boost_1_57_0
# export PATH=/usr/bin:/bin:/usr/sbin:/sbin:  # might be necessary to prevent custom compilers be used
./bootstrap.sh --prefix=/Users/you/anaconda_boost_install/ --with-python=/Users/you/anaconda/bin/python2.7
./b2 link=shared
./b2 link=shared install
# source ~/.bashrc  # get back $PATH
Run Code Online (Sandbox Code Playgroud)

针对 anaconda 修复 libboost-python:

install_name_tool -id /Users/you/anaconda_boost_install/lib/libboost_python.dylib /Users/you/anaconda_boost_install/lib/libboost_python.dylib
Run Code Online (Sandbox Code Playgroud)

注意: gcc 编译器位于/usr/bin/gcc. 取消注释以下行以使用 gcc 编译器作为默认编译器:

# export PATH=/usr/bin:/bin:/usr/sbin:/sbin:  # might be necessary to prevent custom compilers be used
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到完整的教程。