中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統是怎樣編譯boost

發布時間:2022-01-26 10:26:17 來源:億速云 閱讀:152 作者:kk 欄目:開發技術

本篇文章為大家展示了Linux系統是怎樣編譯boost,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

boost庫是一個可移植、提供源代碼的c++庫,作為標準庫的后備,是c++標準化進程的開發引擎之一。

Boost簡介:

  • boost庫是一個可移植、提供源代碼的c++庫,作為標準庫的后備,是c++標準化進程的開發引擎之一。

  • boost庫由c++標準委員會庫工作組成員發起,其中有些內容有望成為下一代c++標準庫內容。 在c++社區中影響甚大,是不折不扣的“準”標準庫。

  • boost由于其對跨平臺的強調,對標準c++的強調,與編寫平臺無關。

Linux系統編譯Boost具體方法:

Boost的編譯使用的不是已經成為公認標準的make,而是專門為Boost開發的工具bjam(boost jam)**。

1.  ./bootstrap.sh  生成bjam

2.  ./bjam –with-filesystem –layout=tagged variant=release link=static threading=single stage 執行的創建命令(不用全部編譯)

\3.   ./bjam install 安裝

獲取boost庫

Linux下官方提供了兩個壓縮版本:boost_1_43_0.tar.bz2boost_1_43_0.tar.gz

找到其中一個Unix/Linux包的直接下載地址,然后輸入下列命令

sudo wget http://downloads.sourceforge.net/project/boost/boost/1.43.0/boost_1_43_0.tar.gz?use_mirror=cdnetworks-kr-1

解壓tar -zxvf boost_1.43.0.tar.gz

進入解壓目錄cd boost_1_43_0

編譯安裝

使用下面的命令創建boost自己的編譯工具bjam(目的是保證Boost在任何平臺上都能用bjam編譯),類似于GNU Make。./bootstrap.sh –prefix=/home/usrname/boost_1_43_0/boost_install

boost將被安裝到/boost_install目錄下,不知名prefix將默認安裝到/usr/local/include和/usr/local/lib下。

建議先查看下幫助文檔,了解些默認選項,命令為./bjam –help

.bjam命令的格式為:bjam [options] [properties] [targets]

常用選項(Options)和屬性(Properties)的說明,一般帶有–前綴的關鍵詞為option,沒有的則為property。

–show-libraries顯示需要編譯才能使用的庫列表

–build-type=minimal|complete–build-type=minimal為默認值,此時在Linux下只編譯生成release版的動態鏈接C運行庫(C++標準庫)的多線程靜態庫和動態庫。–build-type=complete,在Unix/linux下要編譯多個變體(debug或release,多線程或單線程,靜態庫或動態庫,靜態鏈接或動態鏈接C運行庫/C++標準庫)。不建議全部編譯,費時還費空間,提倡按需編譯。

–layout=versioned|tagged|system決定需要編譯的庫名及頭文件的地址目錄名的生成策略。默認Windows下–layout=versioned,Linux下–layout=system。當同時編譯多個版本時,最好設置–layout=versioned或–layout=tagged,否則編譯多半會失敗,原因是有的版本同時編譯若不指定命名策略,可能在輸出到指定目錄的時候造成命名沖突。注:–build-type=complete時,不需要設置此屬性。但指定variant=debug,release等屬性時,須確保–layout=versioned或–layout=tagged。

–build-dir=DIR指定存放編譯過程中生成的中間文件,目標文件等其他文件的目錄,默認在./bin.v2。

–with-創建和安裝指定的庫–without-不對指定的庫進行創建和安裝,默認創建所有的庫

安裝:關鍵詞 install 或 stage./bjam installinstall會安裝頭文件和庫文件到相應指定目錄,頭文件安裝到/usr/local/include下,庫文件安裝到/usr/local/lib下。具體指定安裝目錄見./bjam –help。./bjam stagestage說起來只能說是收集生成的庫文件到一個目錄下,通常默認就在./stage下。

注:install 和 stage 貌似不能同時使用,中間會卡住。若編譯過程中未指定install或stage,則生成的目標庫文件只存在于–build-dir所指的目錄中,默認為./bin.v2。考慮到此,若無需將頭文件和庫文件安裝,則推薦使用stage關鍵字。

下面是屬性:toolset=toolset指定編譯器,默認自動檢測,安裝了多個編譯器的時候可以使用此屬性。variant=debug|release指定編譯debug或release版本。link=static|shared指定創建靜態庫或動態庫runtime-link=static|shared指定創建的庫是靜態鏈接還是動態鏈接到C運行庫(或C++標準庫),這個選項需依據–link的類型,不同的編譯器允許的鏈接策略不一樣,比如在GCC下,在生成動態庫(–link=shared)時,就不允許進行靜態鏈接到C運行庫(或C++標準庫)。threading=single|multi指定創建多線程或單線程的版本庫。

屬性可同時設置,如下兩種方式,為了避免名字沖突,建議采取propery=value的格式:./bjam variant=debug,release stage./bjam variant=debug variant=release這兩種方式都可以。

*最后執行的創建命令:*./bjam –with-filesystem –layout=tagged variant=release link=static threading=single stage

*安裝*

# ./bjam install

將生成的庫默認安裝到/urs/local/lib目錄。

什么是Linux系統

Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。

上述內容就是Linux系統是怎樣編譯boost,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

保德县| 尖扎县| 林西县| 河池市| 嵩明县| 兴国县| 图片| 阳春市| 视频| 闽侯县| 原阳县| 岫岩| 肥东县| 丽江市| 霸州市| 蓝山县| 西畴县| 红桥区| 泽州县| 互助| 靖宇县| 无锡市| 兰溪市| 宁阳县| 德兴市| 东山县| 舒兰市| 龙江县| 元氏县| 中卫市| 册亨县| 宜章县| 宁都县| 子洲县| 新密市| 阿拉善左旗| 尼勒克县| 泰宁县| 三都| 炎陵县| 延川县|