小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Boost安裝

 @IT小小鳥(niǎo)@ 2012-03-15

0 前言

大衛(wèi)注:這是當(dāng)初研究boost時(shí)的筆記,最近看到論壇上有人問(wèn),所以就貼出來(lái)共享一下。其實(shí)個(gè)人認(rèn)為,boost目前還不適于進(jìn)行應(yīng)用開(kāi)發(fā),畢竟 boost庫(kù)太大了(當(dāng)然,你可以只用一部分,但程序的可維護(hù)性始終是個(gè)問(wèn)題),除非你想一探C++研究前沿的Meta Programming這個(gè)Generic Programming的神奇世界。強(qiáng)烈建議boost的研究者在研究boost之前研究一下一個(gè)小得多的模板庫(kù)loki,boost中的很多讓你無(wú)法理解的技術(shù)在loki庫(kù)中被大量運(yùn)用,并且這個(gè)庫(kù)的作者專(zhuān)門(mén)寫(xiě)了Modern C++ Design來(lái)解說(shuō)該庫(kù)的實(shí)現(xiàn)。此外,如果你要研究boost,開(kāi)始時(shí)不要編譯所有的庫(kù),如Python,thread,test等,因?yàn)榈饶慊◣讉€(gè)小時(shí)編譯完了,你可能發(fā)現(xiàn),你根本就用不到這些庫(kù),或者對(duì)它根本就不感興趣,等到你研究完比較小的幾個(gè)庫(kù),對(duì)boost有了充分了解的時(shí)候再來(lái)編譯也不遲。

注:

  1. 開(kāi)始前請(qǐng)確認(rèn)你的OS中已經(jīng)安裝了適當(dāng)?shù)木幾g器,以下Windows環(huán)境中以Windows 2000 + VC6為例,Unix環(huán)境中以Solaris 9 + GCC 3.4.2為例;
  2. 以下以$BOOSTDIR表示boost的存放目錄,請(qǐng)自行根據(jù)實(shí)際情況進(jìn)行修改。

1 下載 Boost + 解包(略)


2 編譯jam


2.1Windows

到$BOOSTDIR\tools\build\jam_src下執(zhí)行build.bat對(duì)jam進(jìn)行編譯,編譯結(jié)果將存放在$BOOSTDIR\ tools\build\jam_src\bin.ntx86下。如果你在執(zhí)行該批處理程序過(guò)程中遇到問(wèn)題,如報(bào)告無(wú)法找到編譯器相關(guān)程序,請(qǐng)執(zhí)行 X:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.bat 以建立VC的基本環(huán)境變量。

2.2 Solaris 9

到$BOOSTDIR\tools\build\jam_src下執(zhí)行./build.sh對(duì)jam進(jìn)行編譯,編譯結(jié)果將存放在$BOOSTDIR\tools\build\jam_src\bin.solarisx86下。

3 設(shè)置環(huán)境變量


(注:這一步其實(shí)可以省略,直接在(三)中通過(guò)-s輸入到命令行即可,但設(shè)置可以讓命令行更清晰、簡(jiǎn)單一點(diǎn)。)

3.1 Windows

我的電腦點(diǎn)右鍵->屬性->高級(jí)->環(huán)境變量->user variable或system variable中:
PATH最后添加bjam存放目錄,如:
$BOOSTDIR\tools\build\jam_src\bin.ntx86
新建環(huán)境變量MSVCDIR,并在變量值一欄中填入VC安裝目錄,如:
X:\Program Files\Microsoft Visual Studio\VC98
新建環(huán)境變量:
PYTHON_ROOT=X:\Program Files\Python2.3.4
PYTHON_VERSION=2.3

3.2 Solaris 9

在.profile中PATH后添加編譯后的jam的存放目錄。
并增加
PYTHON_VERSION=2.3
export PYTHON_VERSION
注意,無(wú)需設(shè)置PYTHON_ROOT,Solaris下jam會(huì)自動(dòng)處理。

4 編譯Boost


4.1 Windows

命令:

jam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release <runtime-link>static/dynamic"

以上命令解釋如下:

-s 即set,設(shè)置環(huán)境變量;

BOOST_ROOT boost的存放目錄

TOOLS 你選擇的toolset,如gcc、msvc(即vc6)、vc7.1,此外還有g(shù)cc-stlport、msvc-stlport、vc7.1- stlport,表示同時(shí)使用stlport。具體支持何種toolset,大家可以自行到$BOOSTDIR\tools\build\v1看個(gè)究竟。 BUILD 編譯類(lèi)型,上述選項(xiàng)表示編譯出支持static和dynamic鏈接的debug和release版本(4個(gè)版本)。

編譯后的lib、dll將被copy到$BOOSTDIR\bin\boost\libs目錄下,但是這些lib、dll分散在不同的目錄下,為了便于使用,可以在上述目錄下分別查找*.lib和*.dll找出這些文件,然后將他們分別全部copy到VC的lib目錄和Windows的System32目錄,也可以自己建立一個(gè)專(zhuān)門(mén)用于存放boost的lib文件的目錄,然后依次選擇Tools->Options->Directories->Library files,將上述目錄路徑添加到VC的環(huán)境設(shè)置中。

4.2 Solaris 9

到$BOOSTDIR下執(zhí)行以下命令:

jam -sBOOST_ROOT=. -sTOOLS=gcc "-sBUILD=debug release <runtime-link>static/dynamic"

但建議用如下命令:

jam -sBOOST_ROOT=. -sTOOLS=gcc "-sBUILD=release <runtime-link>dynamic speed"

這樣可以極大加快編譯的速度,同時(shí),個(gè)人認(rèn)為像boost這樣大的庫(kù),最好還是采用動(dòng)態(tài)鏈接以減小目標(biāo)程序的size,就像libstdc++,還沒(méi)有見(jiàn)過(guò)有人去靜態(tài)鏈接libstdc++.a,雖然系統(tǒng)中提供了這個(gè)靜態(tài)庫(kù)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多