在linux下编译boost库【搜集】
http://www.cnblogs.com/flywuya/archive/2010/11/30/1892483.html
編譯環境
操作系統:SUSE linux Enterprise Server 10 64-bit
編譯工具:gcc 4.1.2
1.下載boost1.36
2.解壓boost到/usr/share
3.在命令行運行/usr/share/boost_1_36_0/tools/jam/src/build.sh生成bjam
4.復制/usr/share/boost_1_36_0/tools/jam/src/bin.linuxx86_64/bjam到/usr/bin目錄下
5.配置/usr/share/boost_1_36_0/tools/build/v2/user-config.jam中使用的編譯工具
using gcc ;
6.使用bjam --build-type=complete --with-XXXX stage 編譯指定庫或者使用
bjam --build-type=complete stage 完全編譯boost庫,庫文件編譯完成后存放在
/usr/share/boost_1_36_0/stage/lib目錄下.由于大部分boost庫并不需要編譯可直接使用,
通常我們可選擇性的編譯需要的庫.
7.如需要使用bjam編譯應用程序,編輯/etc/profile,在文件最后增加
export BOOST_ROOT???? = /usr/share/boost_1_36_0
export BOOST_INCLUDE = /usr/share/boost_1_36_0
export BOOST_LIB????? = /usr/share/boost_1_36_0/stage/lib
8.為了讓編譯工具能搜索到boost庫的頭文件和庫文件,我們使用ln命令建立連接
8.1創建頭文件連接
ln -s /usr/share/boost_1_36_0/boost /usr/include/boost
8.2創建庫文件連接,為了方便我們可使用jam幫助我們完整這項工作,在
/usr/share/boost_1_36_0/stage/lib下創建Jamroot
#Jamroot腳本local files = [ glob *.* ] ;local curpath ;local install_lib_files = [ glob /usr/lib/*.* ] ;local cmd ;local source_path ;local desc_path ;path-constant curpath : ./ ;for local file in $(files){source_path = $(curpath)/$(file) ;desc_path = "/usr/lib/"$(file) ;cmd = "ln -s "$(source_path)" "$(desc_path) ;if $(desc_path) in $(install_lib_files){ECHO $(desc_path)" is exists" ;}else{ECHO $(cmd) ;SHELL $(cmd) ;}}
以上腳本將/usr/share/boost_1_36_0/stage/lib目錄下的所有庫文件創建連接符號到
/usr/lib目錄下.
9.編譯完成
總結
以上是生活随笔為你收集整理的在linux下编译boost库【搜集】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bodymovin导出没有html文件,
- 下一篇: 鸟哥的Linux私房菜——第三部分|第1