我正在尝试在osx上安装boost using anaconda。具体来说,我必须将其与gcc
(而不是osx默认clang
)进行比较。有没有人知道如何做到这一点,或者甚至可以使用conda?理想情况下,我想要两个单独的boost库,一个用gcc
编译,另一个用clang
编译。
答案 0 :(得分:2)
假设anaconda已安装在
中/Users/you/anaconda
以下步骤应该允许您使用gcc编译器绑定为anaconda编译boost:
修复anaconda lib:
install_name_tool -id /Users/you/anaconda/lib/libpython2.7.dylib /Users/you/anaconda/lib/libpython2.7.dylib
(重新)编译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
针对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
注意: gcc编译器位于/usr/bin/gcc
。
取消注释以下行以使用gcc编译器作为默认编译器:
# export PATH=/usr/bin:/bin:/usr/sbin:/sbin: # might be necessary to prevent custom compilers be used
您可以找到完整的教程here。