• <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 - 28, comments - 179, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            boost1.35.0編譯日志

            Posted on 2008-03-31 16:56 chemz 閱讀(8445) 評論(13)  編輯 收藏 引用 所屬分類: boost
                                           boost1.35.0編譯日志
                經歷了將近半年多的時間boost終于發布了1.35.0版本(前版本1.34.1發布于2007/7),
            其編譯方法和原來的編譯方法基本上是一致的,主要改變包括1.34.0以來bjam的toolset所
            提供的參數名稱的改變(具體參見《boost1.34.0編譯日志》)外,還包括bjam的編譯默認
            選項的變化,在1.35.0之前的版本默認編譯時會自動編譯各種版本的庫,包括靜態庫、
            動態庫、debug庫和release庫等全部的版本,但是到了1.35.0時默認的選擇僅僅編譯release
            版本的庫,這樣一來在開發的時候就不能進行必要的調試了,為了能夠使其編譯全部的版本
            需要在bjam的命令行參數中添加一個--build-type=complete類型的參數來指明需要編譯全
            部的版本,所需要編譯同時為了使得regex庫能夠通過ICU庫支持Unicode,在編譯上需要有
            一些特殊的選擇。我在Visual Studio 2005 Pro + SP1環境下編譯了該庫,為了避免走彎路
            所以將其編譯的方法進行說明,以方便大家編譯。
                由于boost是采用其自己的bjam工具通過命令行進行編譯的,所以必須在Windows下開啟
            console窗口,同時必須將Visual Studio中C++目錄下的環境vcvarsall.bat配置腳本運行一
            遍,以設置好VC的編譯器環境變量。
                1. 編譯不帶ICU支持的boost庫
                   此種情況下的boost庫編譯起來比較的簡單,在準備好的console窗口中輸入:
                       bjam --without-python --toolset=msvc-8.0 --build-type=complete stage
                   就可以了,如果要安裝的話則輸入:
                       bjam --without-python --toolset=msvc-8.0 --build-type=complete install
                      
                2. 編譯具有ICU支持的boost庫
                   首先我們必須編譯ICU庫才能夠編譯boost庫,在準備好的console窗口中輸入:
                       bjam -sICU_PATH=d:\ICU --without-python --toolset=msvc-8.0 --build-type=complete stage
                   就可以了,如果要安裝的話則輸入:
                       bjam -sICU_PATH=d:\ICU --without-python --toolset=msvc-8.0 --build-type=complete install
                通過上面的方法可以很正常完成boost各種需要版本的關系。


            Feedback

            # re: boost1.35.0編譯日志[未登錄]  回復  更多評論   

            2008-03-31 17:27 by colin
            動作好快啊。呵呵。

            # re: boost1.35.0編譯日志  回復  更多評論   

            2008-03-31 19:13 by erlang
            幫幫忙,那個MPI庫怎么編譯,好想用

            # re: boost1.35.0編譯日志[未登錄]  回復  更多評論   

            2008-03-31 19:26 by alpha
            用vc2008編譯出錯:

            M:\CODE\VNN4\OUTER\boost_1_35_0>bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x86_9 --
            without-python --without-mpi --toolset=msvc-9.0 --build-type=complete --prefix=m
            :\boost86 install
            warning: Graph library does not contain optional GraphML reader.
            note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
            note: directories containing the Expat headers and libraries, respectively.
            Building Boost.Regex with Unicode/ICU support enabled
            Using ICU in m:\icu4c-3_8-src\icu_x86_9/include
            Skipping build of: ./install <build>no in common properties
            Skipping build of: ./install <build>no in common properties
            Skipping build of: ./install <build>no in common properties
            Skipping build of: ./install <build>no in common properties
            Skipping build of: libs/regex/build/icucore <build>no in common properties
            Skipping build of: libs/regex/build/icuin <build>no in common properties
            Skipping build of: libs/regex/build/icudata <build>no in common properties
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/kernel\class.jam:93: in new
            *** argument error
            * rule object(searched-lib-target)@54887.__init__ ( name : project : shared ? :
            search * : action )
            * called with: ( icudt icuin icuuc : object(project-target)@158 : true : /m:/icu
            4c-3_8-src/icu_x86_9/lib : object(null-action)@54886 : : : : )
            * extra argument icuin
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/tools\builtin.jam:349:see definit
            ion of rule '__init__' being called
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/tools\builtin.jam:592: in object(
            searched-lib-generator)@6.run
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:859: in try-
            one-generator-really
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:920: in try-
            one-generator
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:1131: in con
            struct-really
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:1204: in gen
            erators.construct
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/tools\builtin.jam:496: in object(
            lib-generator)@5.run
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:859: in try-
            one-generator-really
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:920: in try-
            one-generator
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:1131: in con
            struct-really
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\generators.jam:1204: in gen
            erators.construct
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\targets.jam:1368: in constr
            uct
            M:/CODE/VNN4/OUTER/boost_1_35_0/tools/build/v2/build\targets.
            M:\CODE\VNN4\OUTER\boost_1_35_0>

            # re: boost1.35.0編譯日志  回復  更多評論   

            2008-03-31 22:29 by 杜中偉
            校園網很慢,請問可以將Loki庫和Boost庫源碼發到我郵箱么?
            mailto:duzhongwei@qq.com

            # re: boost1.35.0編譯日志  回復  更多評論   

            2008-04-01 10:28 by sjt
            You need to pass --build-type=complete like:
            bjam --build-dir=builddir --build-type-complete --toolset=msvc-8.0 stage

            # re: boost1.35.0編譯日志[未登錄]  回復  更多評論   

            2008-04-01 10:50 by alpha
            我用vc9編譯,如果ICU和build-type=complete不一起用是可以的。
            一起用就會出上面所說的問題。

            非常奇怪

            # re: boost1.35.0編譯日志[未登錄]  回復  更多評論   

            2008-04-01 11:21 by alpha
            用--with regex編譯,出現同樣錯誤,看來就是regex的問題

            # re: boost1.35.0編譯日志  回復  更多評論   

            2008-04-01 12:08 by erlang
            編譯還是麻煩啊,我都是直接把源文件copy到工程目錄下編譯運行

            # re: boost1.35.0編譯日志[未登錄]  回復  更多評論   

            2008-04-02 10:08 by alpha
            最后搞定了這個問題:
            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x64_9 –with-regex –toolset-msvc address-model=64 release

            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x64_9 –with-regex –toolset-msvc address-model=64 debug

            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x64_9 –with-regex –toolset=msvc msvc/link=static address-model=64 debug

            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x64_9 –with-regex –toolset=msvc msvc/link=static address-model=64 release

            如果是x86

            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x86_9 –with-regex –toolset-msvc release

            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x86_9 –with-regex –toolset-msvc debug

            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x86_9 –with-regex –toolset=msvc msvc/link=static debug

            bjam -a -sICU_PATH=m:\icu4c-3_8-src\icu_x86_9 –with-regex –toolset=msvc msvc/link=static release

            沒有編譯static link c++ runtime lib的static lib,只編譯了動態link c++ runtime lib的dll以及static lib

            注意編譯完之后的dll,lib以及libxxx.lib拷貝到目錄下時,要同時去掉1_35拷貝一份,因為boost頭文件中通過prgram(link)進行的auto link指向的lib不包含1_35后綴

            http://alpha.oopslab.net

            # re: boost1.35.0編譯日志  回復  更多評論   

            2008-04-13 17:14 by michealniu
            看了你的這個日志,收獲很大,但是就是不知道怎么在linux下直接編譯boost,我按照安裝說明里面來的,編譯的很不全,報了下面一些錯誤,能不能給點指導性意見,感激不盡阿!
            warning: Graph library does not contain optional GraphML reader.
            note: to enable GraphML support, set EXPAT_INCLUDE and EXPAT_LIBPATH to the
            note: directories containing the Expat headers and libraries, respectively.
            warning: skipping optional Message Passing Interface (MPI) library.
            note: to enable MPI support, add "using mpi ;" to user-config.jam.
            note: to suppress this message, pass "--without-mpi" to bjam.
            note: otherwise, you can safely ignore this message.
            Building Boost.Regex with the optional Unicode/ICU support disabled.
            Please refer to the Boost.Regex documentation for more information
            (don't panic: this is a strictly optional feature).
            warning: No toolsets are configured.
            warning: Configuring default toolset "gcc".
            warning: If the default is wrong, your build may not work correctly.
            warning: Use the "--toolset=xxxxx" option to override our guess.
            warning: For more configuration options, please consult
            warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html

            # re: boost1.35.0編譯日志  回復  更多評論   

            2008-04-13 17:21 by stO
            configure your user-config.jam

            # re: boost1.35.0編譯日志  回復  更多評論   

            2008-05-16 14:25 by dadatech
            原來是ICU預先編譯好的庫只有動態link的,因此bjam 想用complete的時候就出錯了

            # re: boost1.35.0編譯日志  回復  更多評論   

            2009-08-05 13:14 by fatpig
            我是在linux下安裝的, 不支持ICU, 增加了版主所說的參數
            BJAM_CONFIG= -sPYTHON_ROOT=/usr -sPYTHON_VERSION=2.4 --build-type=complete
            光make就用了10分鐘
            日产精品久久久一区二区| 亚洲va中文字幕无码久久| 四虎国产永久免费久久| 欧美久久一级内射wwwwww.| 99re久久精品国产首页2020| 亚洲色欲久久久久综合网| 国产日韩久久免费影院| 日韩精品国产自在久久现线拍 | 亚洲欧美日韩精品久久亚洲区 | 亚洲国产成人久久综合碰| 人妻无码αv中文字幕久久 | 超级碰碰碰碰97久久久久| 久久国产精品偷99| 久久精品国产精品亜洲毛片| 日韩av无码久久精品免费| 久久中文字幕视频、最近更新| 久久精品国产WWW456C0M| 狠狠色婷婷久久一区二区| 国内精品久久久久影院薰衣草| 国产69精品久久久久99尤物| 久久久久久久97| 欧美精品一本久久男人的天堂| 久久免费看黄a级毛片| 久久国产欧美日韩精品| 香蕉久久夜色精品国产尤物| 一级做a爰片久久毛片看看 | 久久www免费人成看片| 久久精品国产99久久香蕉| 色成年激情久久综合| 久久久久久久尹人综合网亚洲 | 久久婷婷五月综合97色直播| 久久精品国产72国产精福利| 97精品国产97久久久久久免费| 国产真实乱对白精彩久久| 欧美伊人久久大香线蕉综合| 日本加勒比久久精品| 亚洲精品WWW久久久久久| 亚洲国产精品综合久久一线| 久久久SS麻豆欧美国产日韩| 成人午夜精品无码区久久| 日产精品久久久久久久|