您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“linux下如何編譯boost.python”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。