• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            任我行

            一天一個腳印......
            每日一句:
            posts - 54, comments - 218, trackbacks - 1, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            Boost安裝

            Posted on 2006-06-30 17:08 任我行 閱讀(4746) 評論(0)  編輯 收藏 引用 所屬分類: C++
            剛好在網上閑逛的時候發現了這個:

            http://www.stlchina.org/twiki/bin/view.pl/Main/BoostInstall

            0 前言

            大衛注:這是當初研究boost時的筆記,最近看到論壇上有人問,所以就貼出來共享一下。其實個人認為,boost目前還不適于進行應用開發,畢竟 boost庫太大了(當然,你可以只用一部分,但程序的可維護性始終是個問題),除非你想一探C++研究前沿的Meta Programming這個Generic Programming的神奇世界。強烈建議boost的研究者在研究boost之前研究一下一個小得多的模板庫loki,boost中的很多讓你無法理解的技術在loki庫中被大量運用,并且這個庫的作者專門寫了Modern C++ Design來解說該庫的實現。此外,如果你要研究boost,開始時不要編譯所有的庫,如Python,thread,test等,因為等你花幾個小時編譯完了,你可能發現,你根本就用不到這些庫,或者對它根本就不感興趣,等到你研究完比較小的幾個庫,對boost有了充分了解的時候再來編譯也不遲。

            注:

            1. 開始前請確認你的OS中已經安裝了適當的編譯器,以下Windows環境中以Windows 2000 + VC6為例,Unix環境中以Solaris 9 + GCC 3.4.2為例;
            2. 以下以$BOOSTDIR表示boost的存放目錄,請自行根據實際情況進行修改。

            1 下載 Boost + 解包(略)


            2 編譯jam


            2.1Windows

            到$BOOSTDIR\tools\build\jam_src下執行build.bat對jam進行編譯,編譯結果將存放在$BOOSTDIR\ tools\build\jam_src\bin.ntx86下。如果你在執行該批處理程序過程中遇到問題,如報告無法找到編譯器相關程序,請執行 X:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.bat 以建立VC的基本環境變量。

            2.2 Solaris 9

            到$BOOSTDIR\tools\build\jam_src下執行./build.sh對jam進行編譯,編譯結果將存放在$BOOSTDIR\tools\build\jam_src\bin.solarisx86下。

            3 設置環境變量


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

            3.1 Windows

            我的電腦點右鍵->屬性->高級->環境變量->user variable或system variable中:
            PATH最后添加bjam存放目錄,如:
            $BOOSTDIR\tools\build\jam_src\bin.ntx86
            新建環境變量MSVCDIR,并在變量值一欄中填入VC安裝目錄,如:
            X:\Program Files\Microsoft Visual Studio\VC98
            新建環境變量:
            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
            注意,無需設置PYTHON_ROOT,Solaris下jam會自動處理。

            4 編譯Boost


            4.1 Windows

            命令:

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

            以上命令解釋如下:

            -s 即set,設置環境變量;

            BOOST_ROOT boost的存放目錄

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

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

            4.2 Solaris 9

            到$BOOSTDIR下執行以下命令:

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

            但建議用如下命令:

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

            這樣可以極大加快編譯的速度,同時,個人認為像boost這樣大的庫,最好還是采用動態鏈接以減小目標程序的size,就像libstdc++,還沒有見過有人去靜態鏈接libstdc++.a,雖然系統中提供了這個靜態庫。


            久久综合给合久久狠狠狠97色 | 热re99久久精品国99热| 青青青国产成人久久111网站| 久久精品人人做人人爽97| 亚洲va久久久噜噜噜久久狠狠 | 国产精品久久久久影院色| 久久综合丝袜日本网| 久久久久久久综合综合狠狠| 综合久久精品色| 99re久久精品国产首页2020| 久久精品国产一区二区三区不卡| 久久人妻少妇嫩草AV蜜桃| 亚洲午夜久久久久久久久电影网| 久久精品国产亚洲av高清漫画 | 一本久久免费视频| 99久久婷婷国产综合亚洲| 四虎久久影院| 九九99精品久久久久久| 久久婷婷五月综合色99啪ak| 人妻无码久久一区二区三区免费 | 青青草国产精品久久久久| 国产精品久久久久a影院| www亚洲欲色成人久久精品| 精品久久人人爽天天玩人人妻| 国产日韩久久久精品影院首页| 日韩人妻无码精品久久久不卡 | 久久久久九九精品影院| 九九精品99久久久香蕉| 蜜桃麻豆www久久国产精品| 99精品久久精品| 久久香蕉超碰97国产精品| 国产精品久久久香蕉| 午夜精品久久久久久影视777| 国产高清国内精品福利99久久| 色8久久人人97超碰香蕉987| 久久人人添人人爽添人人片牛牛| 久久噜噜久久久精品66| 精品国产乱码久久久久久浪潮| 青青草原1769久久免费播放| 久久精品九九亚洲精品天堂| 97久久国产亚洲精品超碰热 |