最近項(xiàng)目使用c++操作Python腳本,選用boost.python庫(kù)。在window下編譯安裝很順利,但是在Linux下一直編譯不通過(guò),總是提示找不到頭文件。linux版本為rhel5.7。后來(lái)詢問(wèn)同事,原來(lái)是同事將原來(lái)系統(tǒng)自帶的python2.4刪除掉了,然后手動(dòng)編譯安裝了python3.3。
換到另外一臺(tái)機(jī)器,重新下載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
說(shuō)明:生成bjam工具的時(shí)候要增加with-python參數(shù)同時(shí)指定python可執(zhí)行程序的路徑,具體參數(shù)可以運(yùn)行./bootstrap --help查看
這樣編譯出來(lái)的庫(kù)是鏈接python2.4生成的庫(kù),至于為什么自己安裝的3.3編譯不成功,原因還有待查找,
為什么會(huì)報(bào) No best alternative for /python_for_extensions錯(cuò)誤。
--------------------------------------------------------------------------------------------
2014/5/5 19:15補(bǔ)充:
針對(duì)自定義的版本,要使用以下命令編譯
./b2 --with-python include="/usr/local/python3.3.5/include/python3.3m/"
通過(guò)include參數(shù)指定自定義版本的python包含路徑。上述命令同樣會(huì)報(bào)No best alternative for /python_for_extensions估計(jì)是多個(gè)版本的python引起的。
這里要使用b2進(jìn)行編譯,據(jù)說(shuō)b2是第二個(gè)版本的bjam,以后不要使用bjam了
另外自行編譯python的時(shí)候最好要編譯動(dòng)態(tài)庫(kù)
./configure --prefix=/usr/local/python3.3.5 --enable-shared make make install
切記,linux不要?jiǎng)h除系統(tǒng)自帶的python。rhel5.7刪除以后yum都不好用了 很悲劇
以上這篇linux下編譯boost.python簡(jiǎn)單方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
標(biāo)簽:河南 亳州 惠州 新疆 贛州 九江 北京 懷化
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux下編譯boost.python簡(jiǎn)單方法》,本文關(guān)鍵詞 linux,下,編譯,boost.python,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。