• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            boost1.35.0編譯日志

            Posted on 2008-03-31 16:56 chemz 閱讀(8447) 評論(13)  編輯 收藏 引用 所屬分類: boost
                                           boost1.35.0編譯日志
                經(jīng)歷了將近半年多的時(shí)間boost終于發(fā)布了1.35.0版本(前版本1.34.1發(fā)布于2007/7),
            其編譯方法和原來的編譯方法基本上是一致的,主要改變包括1.34.0以來bjam的toolset所
            提供的參數(shù)名稱的改變(具體參見《boost1.34.0編譯日志》)外,還包括bjam的編譯默認(rèn)
            選項(xiàng)的變化,在1.35.0之前的版本默認(rèn)編譯時(shí)會(huì)自動(dòng)編譯各種版本的庫,包括靜態(tài)庫、
            動(dòng)態(tài)庫、debug庫和release庫等全部的版本,但是到了1.35.0時(shí)默認(rèn)的選擇僅僅編譯release
            版本的庫,這樣一來在開發(fā)的時(shí)候就不能進(jìn)行必要的調(diào)試了,為了能夠使其編譯全部的版本
            需要在bjam的命令行參數(shù)中添加一個(gè)--build-type=complete類型的參數(shù)來指明需要編譯全
            部的版本,所需要編譯同時(shí)為了使得regex庫能夠通過ICU庫支持Unicode,在編譯上需要有
            一些特殊的選擇。我在Visual Studio 2005 Pro + SP1環(huán)境下編譯了該庫,為了避免走彎路
            所以將其編譯的方法進(jìn)行說明,以方便大家編譯。
                由于boost是采用其自己的bjam工具通過命令行進(jìn)行編譯的,所以必須在Windows下開啟
            console窗口,同時(shí)必須將Visual Studio中C++目錄下的環(huán)境vcvarsall.bat配置腳本運(yùn)行一
            遍,以設(shè)置好VC的編譯器環(huán)境變量。
                1. 編譯不帶ICU支持的boost庫
                   此種情況下的boost庫編譯起來比較的簡單,在準(zhǔn)備好的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庫,在準(zhǔn)備好的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各種需要版本的關(guān)系。


            Feedback

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

            2008-03-31 17:27 by colin
            動(dòng)作好快啊。呵呵。

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

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

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

            2008-03-31 19:26 by alpha
            用vc2008編譯出錯(cuò):

            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編譯日志  回復(fù)  更多評論   

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

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

            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編譯日志[未登錄]  回復(fù)  更多評論   

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

            非常奇怪

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

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

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

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

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

            2008-04-02 10:08 by alpha
            最后搞定了這個(gè)問題:
            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,只編譯了動(dòng)態(tài)link c++ runtime lib的dll以及static lib

            注意編譯完之后的dll,lib以及l(fā)ibxxx.lib拷貝到目錄下時(shí),要同時(shí)去掉1_35拷貝一份,因?yàn)閎oost頭文件中通過prgram(link)進(jìn)行的auto link指向的lib不包含1_35后綴

            http://alpha.oopslab.net

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

            2008-04-13 17:14 by michealniu
            看了你的這個(gè)日志,收獲很大,但是就是不知道怎么在linux下直接編譯boost,我按照安裝說明里面來的,編譯的很不全,報(bào)了下面一些錯(cuò)誤,能不能給點(diǎn)指導(dǎo)性意見,感激不盡阿!
            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編譯日志  回復(fù)  更多評論   

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

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

            2008-05-16 14:25 by dadatech
            原來是ICU預(yù)先編譯好的庫只有動(dòng)態(tài)link的,因此bjam 想用complete的時(shí)候就出錯(cuò)了

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

            2009-08-05 13:14 by fatpig
            我是在linux下安裝的, 不支持ICU, 增加了版主所說的參數(shù)
            BJAM_CONFIG= -sPYTHON_ROOT=/usr -sPYTHON_VERSION=2.4 --build-type=complete
            光make就用了10分鐘
            亚洲狠狠久久综合一区77777| 国产一区二区久久久| 久久久久久久97| 欧美亚洲日本久久精品| 嫩草影院久久国产精品| 97久久久精品综合88久久| 久久久久亚洲av无码专区喷水| 婷婷综合久久中文字幕蜜桃三电影| 久久精品国产亚洲AV不卡| 中文字幕久久精品无码| 中文字幕乱码人妻无码久久| A级毛片无码久久精品免费| 久久99这里只有精品国产| 精品久久久久久国产| 亚洲国产欧洲综合997久久| 精品久久久久久久久午夜福利| A狠狠久久蜜臀婷色中文网| 热re99久久精品国产99热| 久久无码人妻精品一区二区三区| 亚洲国产成人精品无码久久久久久综合 | 精品国产福利久久久| 香港aa三级久久三级| 久久99精品久久久久久齐齐| 久久九九兔免费精品6| 99久久久精品免费观看国产| 国产精自产拍久久久久久蜜| 久久久精品国产| 久久久久免费精品国产| 午夜精品久久久久成人| 国产精品99久久99久久久| 久久久久国产一区二区| 日韩久久久久久中文人妻| 国产免费久久精品99久久| 97香蕉久久夜色精品国产 | 国产精品久久久久久吹潮| 精品久久久久久无码中文字幕 | 97r久久精品国产99国产精| 久久国产影院| 精品久久久久久国产91| 久久只这里是精品66| 久久AⅤ人妻少妇嫩草影院|