• <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>

            兔子的技術(shù)博客

            兔子

               :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

            留言簿(10)

            最新評論

            閱讀排行榜

            評論排行榜

            在vs2010下編譯boost

            注意紅色大字體


            boost最新版本1.44已經(jīng)支持vs2010,然而直接下載編譯會發(fā)現(xiàn)一堆bug;

            首先由bootstrap編譯bjam的時候就會碰釘子,典型的錯誤就是:

            Failed to build Boost.Jam build engine.
            Please consult bjam.log for furter diagnostics.

            查看bjam.log后可以發(fā)現(xiàn)里面的錯誤信息:

            command.c : fatal error C1033: cannot open program database ''

            Technorati 標(biāo)簽: ,,,

            這個問題在于一個vs編譯環(huán)境。默認我們都直接進入cmd進行編譯,在vs2010環(huán)境下這個是行不通的。

            其次的錯誤就是通過bjam編譯boost庫的時候,會發(fā)現(xiàn)編譯過程中出現(xiàn)很多fatal,很多庫編譯不成功;

            解決辦法: 在開始菜單中,Microsoft Visual Studio 2010\Visual Studio Tools下運行Visual Studio Command Prompt (2010),通過這個cmd進入boost的目錄進行bjam的編譯以及運行bjam編譯boost;

            搞定bjam后,在Visual Studio Command Prompt (2010)下直接運行:

            bjam --toolset=msvc-10.0 --with-date_time --with-program_options --with-system --with-thread --with-filesystem --with-test --with-regex --with-crypto --with-serialization

            然后就可以去喝咖啡了

            具體編譯參數(shù)詳見:http://sswflying.spaces.live.com/blog/cns!A1AF9E41EDCAEF99!515.entry

            boost庫編譯方法(zz)

            Windows下:

            C++代碼

            1. bjam.exe --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread toolset=msvc-9.0 variant=release link=static threading=multi stage 
            bjam.exe --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread toolset=msvc-9.0 variant=release link=static threading=multi stage
            

            Linux下:

            C++代碼

            1. ./bjam --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread variant=release link=static threading=multi stage 
                ./bjam --build-type=minimal --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread variant=release link=static threading=multi stage
            


            :-)
            ////////////////////////////////////////////////
            許多新人對于編譯BOOST感到無從下手,甚至因此而放棄使用BOOST,那真的太可惜了,下面我把一些常用的BOOST編譯方法貼于此,同時也作為自己的筆記。
            首先下載bjam.exe,復(fù)制到 $BOOST$ 目錄下。或者自己生成bjam,打開Visual Studio 2008 命令提示窗口$BOOST$\tools\jam\src,執(zhí)行 build.bat 會在$BOOST$\tools\jam\src\bin.ntx86 生成 bjam.exe 文件。復(fù)制文件 bjam.exe  文件到 $BOOST$\下
            1.完全編譯安裝:
            bjam --toolset=msvc install
            完成后會生成一個bin.v2編譯時的臨時目錄,手動刪除。生成另一個目錄C:\boost,里面為所有的頭文件和庫文件。頭文件目錄為boost_1_34_1\boost目錄復(fù)制過去的。
            2.只編譯相應(yīng)的庫文件
            bjam --toolset=msvc stage
            完成后同樣會生成bin.v2臨時目錄。另一個目錄為stage文件,里面有對應(yīng)的庫文件。
            3.查看需要編譯才能使用的庫列表
            bjam --show-libraries
            4.編譯特定的庫,如只編譯regex
            bjam --toolset=msvc --with-regex stage
            生成的庫文件在stage目錄中。
            5.不編譯某個庫,如不編譯regex
            bjam --toolset=msvc --without-regex stage
            生成的庫文件在stage目錄中。
            6.編譯特定的庫,如只編譯regex,生成debug,多線程,共享連接版本,并保存在stage。
            bjam --toolset=msvc --with-regex stage debug threading=multi link=shared
            7.生成 mt-sgd 的靜態(tài)庫(runtime-link-static)
            bjam "-sTOOLS=vc-8_0" --with-thread install debug release runtime-link=static
            8.編譯regex庫。
            bjam --toolset=msvc --with-regex stage debug release threading=multi threading=single link=shared link=static runtime-link=shared runtime-link=static
            boost的安裝方法:
            對于DLL版本
            bjam --toolset=msvc link=shared runtime-link=shared threading=multi stage debug release install
            對于lib版本
            bjam --toolset=msvc link=static runtime-link=shared threading=multi stage debug release install
            另外,在$BOOST$\tools\build\v2\user-config.jam找到下面的地文
            # -------------------
            # MSVC configuration.
            # -------------------
            # Configure msvc (default version, searched for in standard locations and PATH).
            # using msvc ;
            # Configure specific msvc version (searched for in standard locations and PATH).
            # using msvc : 8.0 ;
            #在這里添加 vs2008 的配置
            using msvc : 9.0 : : /wd4819 /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE  /D_SECURE_SCL=0 ;
            #在這里添加 vs2005 的配置
            using msvc : 8.0 : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ;   
            然后進入 $BOOST$ 目錄,執(zhí)行bjam.exe 編譯命令
            //下面的命令的各選項的說明:
            //prefix    將boost安裝到的路徑(生成的頭文件和庫文件都會放到該路徑中)。
            //重定義以下變量(利用-s設(shè)置):
            //VC80_ROOT   vc2005的安裝路徑,如果未將vc2005安裝到默認位置,你必須指定該項。
            //TOOLS         使用的編譯工具,vc2005對應(yīng)的是vc-8_0
            //PYTHON_ROOT   ython的安裝目錄,如果未將BOOST安裝到默認位置,你必須指定該項。
            //BUILD         編譯結(jié)果選項,默認會生成盡可能多的版本,如調(diào)試版/發(fā)行版,靜態(tài)庫/動態(tài)庫,單線程/多線程。
            bjam 命令說明
            Boost.Build V2 (Milestone 12)
            Boost.Jam 03.1.16
            Project-specific help:
              Project has jamfile at Jamroot
            Usage:
              bjam [options] [properties] [install|stage]
              Builds and installs Boost.
            Targets and Related Options:
              install                 Install headers and compiled library files to the
              =======                 configured locations (below).
              --prefix=<PREFIX>       Install architecture independent files here.
                                      Default; C:\Boost on Win32
                                      Default; /usr/local on Unix. Linux, etc.
              --exec-prefix=<EPREFIX> Install architecture dependent files here.
                                      Default; <PREFIX>
              --libdir=<DIR>          Install library files here.
                                      Default; <EPREFIX>/lib
              --includedir=<HDRDIR>   Install header files here.
                                      Default; <PREFIX>/include
              stage                   Build and install only compiled library files
              =====                   to the stage directory.
              --stagedir=<STAGEDIR>   Install library files here
                                      Default; ./stage
            Other Options:
              --build-type=<type>     Build the specified pre-defined set of variations
                                      of the libraries. Note, that which variants get
                                      built depends on what each library supports.
                                          minimal (default) - Builds the single
                                          "release" version of the libraries. This
                                          release corresponds to specifying:
                                          "release <threading>multi <link>shared
                                          <link>static <runtime-link>shared" as the
            Boost.Build variant to build.
                                          complete - Attempts to build all possible
                                          variations.
              --build-dir=DIR         Build in this location instead of building
                                      within the distribution tree. Recommended!
              --show-libraries        Displays the list of Boost libraries that require
                                      build and installation steps, then exit.
              --layout=<layout>       Determines whether to choose library names
                                      and header locations such that multiple
                                      versions of Boost or multiple compilers can
                                      be used on the same system.
                                          versioned (default) - Names of boost
                                          binaries include the Boost version
                                          number and the name and version of the
                                          compiler.  Boost headers are installed
                                          in a subdirectory of <HDRDIR> whose
                                          name contains the Boost version
                                          number.
                                          system - Binaries names do not include
                                          the Boost version number or the name
                                          and version number of the compiler.
            Boost headers are installed directly
                                          into <HDRDIR>.  This option is
                                          intended for system integrators who
                                          are building distribution packages.
              --buildid=ID            Adds the specified ID to the name of built
                                      libraries.  The default is to not add anything.
              --help                  This message.
              --with-<library>        Build and install the specified <library>
                                      If this option is used, only libraries
                                      specified using this option will be built.
              --without-<library>     Do not build, stage, or install the specified
                                      <library>. By default, all libraries are built.
            Properties:
              toolset=toolset         Indicates the toolset to build with.
              variant=debug|release   Select the build variant
              link=static|shared      Whether to build static or shared libraries
              threading=single|multi  Whether to build single or multithreaded binaries
              runtime-link=static|shared    
                                      Whether to link to static or shared C and C++ runtime.
            Configuration help:
              Configuration file at $boost$\tools\build\v2
              user-config.jam
              This file is used to configure your Boost.Build installation. You can modify
            this file in place, or you can place it in a permanent location so that it
            does not get overwritten should you get a new version of Boost.Build. See:
              http://boost.org/boost-build2/doc/html/bbv2/reference.html#bbv2.reference.init
            for documentation about possible permanent locations.
            General command line usage:
                bjam [options] [properties] [targets]
              Options, properties and targets can be specified in any order.
            Important Options:
              * --clean Remove targets instead of building
              * -a Rebuild everything
              * -n Don't execute the commands, only print them
              * -d+2 Show commands as they are executed
              * -d0 Supress all informational messages
              * -q Stop at first error
              * --debug-configuration Diagnose configuration
              * --debug-building Report which targets are built with what properties
              * --debug-generator Diagnose generator search/execution
            Further Help:
              The following options can be used to obtain additional documentation.
              * --help-options Print more obscure command line options.
              * --help-internal Boost.Build implementation details.
              * --help-doc-options Implementation details doc formatting.
            編譯所有版本:
            bjam --toolset=msvc-8.0 --prefix=$lib-and-dll-out-dir$ --build-type=complete install
            等待編譯完成.
            設(shè)置開發(fā)環(huán)境:
            打開VS2005 選擇 工具->選項->vc++目錄
            設(shè)置包含文件目錄$lib-and-dll-out-dir$\include\boost-1_37\boost
            設(shè)置引用文件目錄:$lib-and-dll-out-dir$\lib
            完成.可以使用了.

            http://anders0913.javaeye.com/blog/375303#


            轉(zhuǎn)自: http://sswflying.spaces.live.com/blog/cns!A1AF9E41EDCAEF99!584.entry
                          http://sswflying.spaces.live.com/blog/cns!A1AF9E41EDCAEF99!515.entry
            posted on 2010-09-07 11:26 會飛的兔子 閱讀(10468) 評論(1)  編輯 收藏 引用 所屬分類: C++庫,組件
            精品国产婷婷久久久| 亚洲国产精品无码久久久秋霞2| 久久人人爽人人爽人人AV| 色综合久久中文字幕无码| 久久99精品综合国产首页| 欧美色综合久久久久久 | 97久久精品人人澡人人爽| 久久久WWW成人免费毛片| 亚洲欧美日韩中文久久| 国产精品久久久久乳精品爆| 亚洲αv久久久噜噜噜噜噜| 国产激情久久久久影院| 国色天香久久久久久久小说| 国产精品成人久久久久久久| 人人狠狠综合久久88成人| 日韩AV毛片精品久久久| 国产精品久久自在自线观看| 性高湖久久久久久久久| 日日狠狠久久偷偷色综合免费 | 93精91精品国产综合久久香蕉 | 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 久久国产欧美日韩精品| 狠狠色综合网站久久久久久久| 久久久久亚洲av无码专区喷水| 国产精品久久久久久久人人看| 久久久99精品一区二区| 久久精品?ⅴ无码中文字幕| 国内精品久久九九国产精品| 少妇人妻88久久中文字幕| 亚洲va久久久久| 国内精品伊人久久久久妇| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久久久波多野结衣高潮| 中文成人久久久久影院免费观看| 亚洲国产天堂久久综合网站| 国内精品久久久久伊人av| 色综合久久综合中文综合网| 国产A级毛片久久久精品毛片| 久久久久青草线蕉综合超碰| 久久精品国产99国产精品亚洲| 久久精品卫校国产小美女|