我正在尝试在osx上使用anaconda安装boost.具体来说,我必须使用它gcc(而不是默认的osx clang).有没有人知道如何做到这一点,或者甚至可以使用conda?理想情况下,我想要两个单独的boost库,一个用于编译,gcc另一个用clang.
假设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)
您可以在这里找到完整的教程。
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |