时间:2021-05-22
最近项目使用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简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言学习中如果碰到问题,参考官网例子:D:\boost_1_61_0\libs\python\test参考:Boost.Python中英文文档。利用Boost.
我是在ubuntu系统进行实验的,所以和window可能会有区别。python调用C/C++有不少的方法,如boost.python,swig,ctypes,p
python调用C/C++有不少的方法,如boost.python,swig,ctypes,pybind11等,这些方法有繁有简,而pybind11的优点是对C
分享VS2010boost标准库开发环境安装教程1.BOOST编译过程非常复杂,目前为了学习BOOST,首先搭建基于VS2010的BOOST开发环境。Boost
前言在这篇短文中,我们将向你简单介绍几种Linux下查看系统时区的简单方法。在Linux机器中,尤其是生产服务器上的时间管理技能,是在系统管理中一个极其重要的方