Boost 1.74编译未生成libboost_python38.so.1.74.0的问题求助
解决Boost 1.74编译未生成libboost_python38.so.1.74.0的问题
排查与修复步骤
1. 修正bootstrap配置参数
你之前指定的--with-python-root路径错误,Python根目录应包含include和lib子目录,而非直接指向Python库目录。重新执行bootstrap:
cd boost_1_74_0 ./bootstrap.sh --with-python=/usr/bin/python3.8 --with-python-version=3.8 --with-python-root=/usr/local --prefix=/opt/boost
执行后检查生成的project-config.jam文件,确认Python路径配置正确,示例如下:
using python : 3.8 : /usr/bin/python3.8 : /usr/local/include/python3.8 : /usr/local/lib/python3.8 ;
2. 明确编译Python模块并指定共享库
重新编译时,显式指定编译Python模块、生成发布版共享库:
./b2 --with-python variant=release link=shared
3. 检查编译产物位置
编译完成后,先在Boost源码目录的stage/lib下查找libboost_python38.so.1.74.0:
- 若存在该文件,可手动复制到
/opt/boost/lib:cp stage/lib/libboost_python38.so.1.74.0 /opt/boost/lib/ - 若不存在,检查编译日志是否有Python模块相关的编译记录,确认Boost是否识别到Python开发环境。
4. 安装Python3.8开发依赖
确保系统已安装Python3.8的开发包:
- Debian/Ubuntu系统:
apt-get install python3.8-dev - RHEL/CentOS系统:
yum install python38-devel
内容的提问来源于stack exchange,提问作者AizenVorona
相关产品推荐
相关产品推荐

