linux下编译boost.python简单方法

 更新时间:2017年03月17日 09:44:54   投稿:jingxian  
下面小编就为大家带来一篇linux下编译boost.python简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最近项目使用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简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux删除指定字符串内容及以前的字符串内容\以后的字符串内容(最新推荐)

    Linux删除指定字符串内容及以前的字符串内容\以后的字符串内容(最新推荐)

    这篇文章主要介绍了Linux删除指定字符串内容及以前的字符串内容\以后的字符串内容,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Shell脚本的超详细讲解(推荐!)

    Shell脚本的超详细讲解(推荐!)

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁,下面这篇文章主要给大家介绍了关于Shell脚本的超详细讲解,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Ansible Ad-hoc命令执行模块实战教程

    Ansible Ad-hoc命令执行模块实战教程

    Ad-hoc是Ansible下临时执行的一条命令,对于复杂的命令会使用playbook。Ad-hoc的执行依赖于模块,ansible官方提供了大量的模块,这篇文章主要介绍了Ansible Ad-hoc命令执行模块 ,需要的朋友可以参考下
    2024-02-02
  • shell实现SSH自动登陆的方法示例

    shell实现SSH自动登陆的方法示例

    这篇文章主要介绍了shell实现SSH自动登陆的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • shell中删除文件中重复行的方法

    shell中删除文件中重复行的方法

    这篇文章主要介绍了shell中删除文件中重复行的方法,需要的朋友可以参考下
    2014-03-03
  • shell批量创建文件并重新命名的实例代码

    shell批量创建文件并重新命名的实例代码

    这篇文章主要给大家介绍了关于shell批量创建文件并重新命名的相关资料,文中还介绍了批量删除文件以及文件更名的多种方法,每种方法都给出了详细实例代码,需要的朋友可以参考下
    2021-07-07
  • 浅析使用 Auditbeat 模块监控 shell 命令的问题

    浅析使用 Auditbeat 模块监控 shell 命令的问题

    Auditbeat Audited 模块可以用来监控所有用户在系统上执行的 shell 命令,在终端用户偶尔才会登录的服务器上,通常需要进行监控,本文给大家介绍使用 Auditbeat 模块监控 shell 命令的相关知识,感兴趣的朋友一起看看吧
    2022-02-02
  • shell脚本字符串处理的使用(分割、截取和拼接)

    shell脚本字符串处理的使用(分割、截取和拼接)

    本文主要介绍了shell脚本字符串处理的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • shell 随机从文件中抽取若干行的实现方法

    shell 随机从文件中抽取若干行的实现方法

    这篇文章主要介绍了shell 随机从文件中抽取若干行的实现方法,需要的朋友可以参考下
    2016-03-03
  • 利用kernel提供的接口打印进程号(pid)

    利用kernel提供的接口打印进程号(pid)

    我们知道linux是模块化的内核。实现模块、利用kernel提供的接口,首先了解写模块的基本框架。下面的c文件就是最基本的框架,当然还有怎样添加一些符号变量,利用的module_param,没用上
    2013-11-11

最新评论