• <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.34.0編譯日志

            Posted on 2007-06-06 17:04 chemz 閱讀(2168) 評論(11)  編輯 收藏 引用 所屬分類: C++
                                            boost1.34.0編譯日志
                經歷了將近一年半的時間boost終于發布了1.34.0版本(前版本1.33.1發布于2005/12),
            其編譯方法和原來的編譯方法基本上是一致的,主要改變是bjam的toolset所提供的參數名稱
            的改變,而由于這個版本并沒有提供任何文檔說明不同的編譯環境應該使用什麼樣的toolset
            名稱,使用原有的名稱是不能夠正常編譯的,同時為了使得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 stage
                   就可以了,如果要安裝的話則輸入:
                       bjam --without-python --toolset=msvc-8.0 install
                       
                2. 編譯具有ICU支持的boost庫
                   首先我們必須編譯ICU庫才能夠編譯boost庫,在準備好的console窗口中輸入:
                       bjam -sICU_PATH=d:\ICU --without-python --toolset=msvc-8.0 stage
                   就可以了,如果要安裝的話則輸入:
                       bjam -sICU_PATH=d:\ICU --without-python --toolset=msvc-8.0 install
                通過上面的方法可以很正常完成boost各種需要版本的關系。
             
            注:
                最近1.34.1也已經發布了,其編譯方法完全相同。

            Feedback

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

            2007-06-06 17:31 by pass86
            我編譯了一次1.33.1,只是復制了些頭文件到我的目標我的文件架,沒有生成。LIB文件,是怎么回事情呢,用的是。NET 2003選項,能夠給我發個
            。NET2003的編譯明命令行嗎,謝謝。
            pass86@gmail.com

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

            2007-06-06 17:53 by chemz
            在Visual Studio.NET 2003下編譯boost1.33.1的命令行:
            bjam "-sTOOLS=vc-7_1" stage
            就可以了,只是這個版本的regex庫中有一個文件中包含了非法的注釋字符串,會導致編譯錯誤。
            具體解決辦法如下:
            libs/regex/src/目錄下的一個regex_traits_defaults.cpp文件中包含有ANSI編碼無法包含的字符集,所以會導致編譯的時候出現錯誤,要解決該問題可以將該文件用notepad.exe程序打開,將其中的/*?/字符串替換掉就可以了,對于VC8還要將config/compiler目錄下的visualc.hpp文件中的第58行移動到71行的下面。

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

            2007-06-06 22:17 by 空明流轉
            如果像你那么編譯VC8下會由于Safe Code,編譯和性能上都會很難看。
            補充說明可以翻看我的blog關于boost 1340的問答。

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

            2007-06-06 22:26 by pass86
            我把/*?/去掉了,代會編譯試試。

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

            2007-06-07 09:07 by chemz
            "空明流轉"提到編譯上由于Visual C++2005的Safe Code會產生很多的警告信息,不會對代碼產生任何的影響,關掉這些警告可能會比較的順眼,謝謝!

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

            2007-06-07 12:37 by 空明流轉
            80下會有影響。80的stl很惡心的默認為safe code,速度要比全速的時候慢50%

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

            2007-06-07 14:00 by pass86
            bjam "sTOOLS=vc-7_1" --prefix=D:\Boost install
            編譯中無法找到windows.h

            完成結果
            ...failed updateing 244 targets...
            ...skiped 228 targets...
            ...updated 1022 targets...

            WHY?

            LIB文件夾下有102個項目。

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

            2007-06-07 14:03 by chemz
            bjam "sTOOLS=vc-7_1" --prefix=D:\Boost install
            你的命令寫錯了看到沒有,仔細對比一下;
            無法找到windows.h應該是VC的環境變量沒有運行的原因

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

            2007-06-07 16:36 by pass86
            搞定,原來是我用的vsvars32.bat應該在一個控制臺下完成,因為它只在當前控制臺中設置的環境變量生效。
            LIB下生成了216個項目,1.2G。

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

            2007-06-07 16:45 by pass86
            ...updated 5279 targets...

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

            2007-07-23 13:20 by pass86
            1.34.0用MinGW編譯貌似有問題,
            為什么沒有發發現boost_1_34_0\tools\build下有v1呢?
            久久―日本道色综合久久| 久久精品二区| 国产成人综合久久精品红| 中文字幕精品久久久久人妻| 久久久久久午夜成人影院| 国产成人无码精品久久久久免费| 狠狠色丁香婷婷久久综合| 亚洲va中文字幕无码久久不卡| 久久久久99精品成人片牛牛影视 | 精品久久久久国产免费| 久久无码人妻一区二区三区午夜| 精品久久久久久无码人妻蜜桃| 久久无码高潮喷水| 国产成人香蕉久久久久| 国产成人精品免费久久久久| 久久这里只有精品首页| 久久婷婷久久一区二区三区| 久久精品国产亚洲αv忘忧草| 久久婷婷午色综合夜啪| 亚洲欧美日韩精品久久亚洲区 | 亚洲AV无码久久精品色欲| 久久国产福利免费| 波多野结衣中文字幕久久 | 欧美激情精品久久久久久久| 91亚洲国产成人久久精品| 久久综合欧美成人| 97精品依人久久久大香线蕉97 | 久久精品国产99国产精品| 国产精品久久久久久福利69堂| 久久精品国产亚洲沈樵| 久久激情亚洲精品无码?V| 久久综合综合久久狠狠狠97色88| 九九久久自然熟的香蕉图片| 久久综合久久自在自线精品自| 久久人人爽人人人人爽AV| 国产成人综合久久精品红| 一本久道久久综合狠狠躁AV| 性做久久久久久久久浪潮| 中文字幕精品久久| 国产精品久久久久a影院| 国产精品久久久久国产A级|