linux下编译boost.python简单方法
作者:jingxian 发布时间:2021-01-22 15:32:44
标签:boost,python,编译,linux
最近项目使用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都不好用了 很悲剧


猜你喜欢
- 1.以前的方法如果是要获得程序运行的当前目录所在位置,那么可以使用os模块的os.getcwd()函数。如果是要获得当前执行的脚本的所在目录
- 前言本人曾对 Vuex 作过详细介绍,但是今天去回顾的时候发现文章思路有些繁琐,不容易找到重点。于是,在下班前几分钟,我对其重新梳理了一遍。
- 我想大家在用Sql2005一般都是.NET2005自带的SQL Server 2005是SQL Server2005 Express版本的,
- 登陆流程图:代码实现:#-*- coding=utf-8 -*-import os,sys,getpass'''us
- 1. 把数字转换成字符串,应用"" + 1,虽然看起来比较丑一点,但事实上这个效率是最高的,性能上来说:("&
- Go语言没有继承、构造函数和析构函数等概念,但是它是面向对象的。.net中类型系统分为值类型和引用类型,两种转换需要进行装箱和拆箱,都是继承
- 骨骼识别的应用场景如今,当前疫情大环境之下。很多人,因为居家办公或者其他原因闷在家里不能外出健身。那么,借助骨骼识别和卷积神经网络模型,计算
- 本文实例讲述了Python实现根据日期获取当天凌晨时间戳的方法。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-
- 提到SQL Server 2005证书,很多人可能以为它只是用来在传输数据的时候起到加密作用的,但在深入了解后,你会发现它的用处还有很多。
- 本文实例讲述了Python实现简单生成验证码功能。分享给大家供大家参考,具体如下:验证码一般用来验证登陆、交易等行为,减少对端为机器操作的概
- 假设红包金额为money,数量是num,并且红包金额money>=num*0.01原理如下,从1~money*100的数的集合中,随机
- 操作所涉及的文件都在当前用户下面的隐藏文件:1. 打开Anaconda Prompt(如果之前生成过Config配置文件则不需要第一步)终端
- 字符型图片验证码识别完整过程及Python实现的博主,我的大部分知识点都是从他那里学来的。想要识别验证码,收集足够多的样本后,首先要做的就是
- 今天使用vue调试页面,发现了页面上的一个问题,后台数据传过来的HTML字符串并没有被转换为正常的HTML代码,一拍脑门,发现忘记转换了,于
- 前言接口在软件工程扮演重要角色,随着应用程序的功能不断扩展,代码库的更新和改变也难以管理。在许多情况下,会发现有一些看起来非常相似,但却不相
- 在我之前写的几篇网站优化的文章中,着墨最多的是减少HTTP请求。通过减少请求数目,你的浏览器必须能对你的网站所有内容成功检索,总的HTTP请
- 使用Django的时候,我发现一个很神奇的装饰器: @login_required, 这是控制一个view的权限的,比如一个视图必须登录才可
- 写了一段时间java切回写python偶尔会出现一些小麻烦,比如:在java中自定义对象变成json串很简单,调用一个方法就行,但同样的转换
- --销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create table salesd
- 一、os模块os 模块是 Python中的一个内置模块,也是 Python中整理文件和目录最为常用的模块。该模块提供了非常丰富的方法用来处理