加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 安全 > 正文

linux下编译boost.python简单方法

发布时间:2021-03-19 01:44:16 所属栏目:安全 来源:网络整理
导读:最近项目使用c++操作Python脚本,选用boost.python库。在window下编译安装很顺利,但是在Linux下一直编译不通过,总是提示找不到头文件。linux版本为rhel5.7。后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3。

最近项目使用c++操作Python脚本,选用boost.python库。在window下编译安装很顺利,但是在Linux下一直编译不通过,总是提示找不到头文件。linux版本为rhel5.7。后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3。

换到另外一台机器,重新下载boost,使用以下命令,顺利编译成功

./bootstrap.sh --with-python=/usr/bin/python 
./bjam --build-type=minimal --with-python variant=release link=static threading=multi address-model=64 --debug-configurations install 

说明:生成bjam工具的时候要增加with-python参数同时指定python可执行程序的路径,具体参数可以运行./bootstrap --help查看

这样编译出来的库是链接python2.4生成的库,至于为什么自己安装的3.3编译不成功,原因还有待查找,

为什么会报 No best alternative for /python_for_extensions错误。

--------------------------------------------------------------------------------------------

2014/5/5 19:15补充:

针对自定义的版本,要使用以下命令编译

./b2 --with-python include="/usr/local/python3.3.5/include/python3.3m/"

通过include参数指定自定义版本的python包含路径。上述命令同样会报No best alternative for /python_for_extensions估计是多个版本的python引起的。

这里要使用b2进行编译,据说b2是第二个版本的bjam,以后不要使用bjam了

另外自行编译python的时候最好要编译动态库

./configure --prefix=/usr/local/python3.3.5 --enable-shared  
make && make install  

切记,linux不要删除系统自带的python。rhel5.7删除以后yum都不好用了 很悲剧

以上这篇linux下编译boost.python简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读