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

            兔子的技術博客

            兔子

               :: 首頁 :: 聯系 :: 聚合  :: 管理
              202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

            留言簿(10)

            最新評論

            閱讀排行榜

            評論排行榜

            在vs2010下編譯boost

            注意紅色大字體


            boost最新版本1.44已經支持vs2010,然而直接下載編譯會發現一堆bug;

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

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

            查看bjam.log后可以發現里面的錯誤信息:

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

            Technorati 標簽: ,,,

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

            其次的錯誤就是通過bjam編譯boost庫的時候,會發現編譯過程中出現很多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

            然后就可以去喝咖啡了

            具體編譯參數詳見: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,復制到 $BOOST$ 目錄下。或者自己生成bjam,打開Visual Studio 2008 命令提示窗口$BOOST$\tools\jam\src,執行 build.bat 會在$BOOST$\tools\jam\src\bin.ntx86 生成 bjam.exe 文件。復制文件 bjam.exe  文件到 $BOOST$\下
            1.完全編譯安裝:
            bjam --toolset=msvc install
            完成后會生成一個bin.v2編譯時的臨時目錄,手動刪除。生成另一個目錄C:\boost,里面為所有的頭文件和庫文件。頭文件目錄為boost_1_34_1\boost目錄復制過去的。
            2.只編譯相應的庫文件
            bjam --toolset=msvc stage
            完成后同樣會生成bin.v2臨時目錄。另一個目錄為stage文件,里面有對應的庫文件。
            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 的靜態庫(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$ 目錄,執行bjam.exe 編譯命令
            //下面的命令的各選項的說明:
            //prefix    將boost安裝到的路徑(生成的頭文件和庫文件都會放到該路徑中)。
            //重定義以下變量(利用-s設置):
            //VC80_ROOT   vc2005的安裝路徑,如果未將vc2005安裝到默認位置,你必須指定該項。
            //TOOLS         使用的編譯工具,vc2005對應的是vc-8_0
            //PYTHON_ROOT   ython的安裝目錄,如果未將BOOST安裝到默認位置,你必須指定該項。
            //BUILD         編譯結果選項,默認會生成盡可能多的版本,如調試版/發行版,靜態庫/動態庫,單線程/多線程。
            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
            等待編譯完成.
            設置開發環境:
            打開VS2005 選擇 工具->選項->vc++目錄
            設置包含文件目錄$lib-and-dll-out-dir$\include\boost-1_37\boost
            設置引用文件目錄:$lib-and-dll-out-dir$\lib
            完成.可以使用了.

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


            轉自: 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++庫,組件
            久久国产精品成人影院| 精品久久久久一区二区三区| 午夜精品久久久久久毛片| 99久久精品国产一区二区| 狠狠狠色丁香婷婷综合久久俺| 日本精品久久久中文字幕| 亚洲精品无码久久久| 久久99国产综合精品| 久久久久久久综合综合狠狠| 久久人人爽人人爽人人片AV高清| 久久精品国产亚洲精品2020| 国产精品无码久久综合网| 久久香蕉国产线看观看精品yw| 99久久国产主播综合精品| 亚洲欧美日韩久久精品第一区| 国产成人精品久久综合 | 色综合久久久久久久久五月| AV狠狠色丁香婷婷综合久久| 热久久国产欧美一区二区精品| 久久天天躁狠狠躁夜夜躁2O2O| 色综合久久88色综合天天 | 国产日产久久高清欧美一区| 77777亚洲午夜久久多喷| 亚洲&#228;v永久无码精品天堂久久| 久久天天躁狠狠躁夜夜96流白浆| 欧美午夜A∨大片久久| 精品久久人人爽天天玩人人妻| 99久久久精品| 国产精品99久久久久久人| 伊人久久大香线焦AV综合影院| 久久无码一区二区三区少妇| 精品视频久久久久| 国产成人久久精品二区三区| 久久久综合九色合综国产| 久久精品国产亚洲av日韩| 久久人人添人人爽添人人片牛牛| 无码8090精品久久一区| 久久久久人妻精品一区三寸蜜桃| 精品一久久香蕉国产线看播放| 久久五月精品中文字幕| 香蕉99久久国产综合精品宅男自|