我使用的是Ubuntu21,系统自带python3.9,执行如下命令
sudo apt-get install libboost-python-dev
生成libboost_python39.so,但是我不想使用39版本的,所以尝试了通过源码编译的方式。通过以下网址进行下载:
https://boostorg.jfrog.io/artifactory/main/release/
對於Ubuntu21,python版本大于等于3.8,这里选择1.75.0版本进行编译,进入boost源文件目录boost_1_75_0,执行以下脚本:
conda activate 你的python对应版本的虚拟环境 #我使用的为python3.8
./bootstrap.sh --with-libraries=python --with-toolset=gcc
./b2 cflags='-fPIC' cxxflags='-fPIC' --with-python
sudo ./b2 install
對於Ubuntu18以及21,这里选择1.75.0版本进行编译,进入boost源文件目录boost_1_75_0,执行以下脚本:
conda activate 你的python对应版本的虚拟环境 #我使用的为python3.8
./bootstrap.sh --with-libraries=python --with-toolset=gcc include="/home/username/anaconda3/envs/your_env/include/python3.6m/"
sudo ./b2 install
编译安装成功后,/usr/local/lib下会有libboost_python38.so和libboost_python38.a,有些应用link时需要的是libboost_python3.so或者libboost_python3.a,我们建个软链:
sudo ln -s /usr/local/lib/libboost_python-py38.so /usr/local/lib/libboost_python3.so
sudo ln -s /usr/local/lib/libboost_python-py38.a /usr/local/lib/libboost_python3.a
一起开启新世界的大门吧😊