• <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$ 目錄下?;蛘?span style="font-size: 14pt;">自己生成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久久精品久久久久久清纯| 亚洲精品视频久久久| 久久久亚洲欧洲日产国码是AV| 国产美女亚洲精品久久久综合 | 欧美亚洲日本久久精品| 中文字幕久久亚洲一区| 99久久精品影院老鸭窝| 久久精品国产99久久丝袜| 无码国内精品久久人妻蜜桃| 99久久婷婷国产综合精品草原| 国产精品亚洲综合久久| 久久精品这里热有精品| 国产亚洲精久久久久久无码77777| 91精品久久久久久无码| 77777亚洲午夜久久多人| 久久精品国产精品亚洲| 久久国产乱子精品免费女| 偷偷做久久久久网站| 久久av免费天堂小草播放| 日韩AV无码久久一区二区| 综合久久精品色| 国产叼嘿久久精品久久| 99久久国产免费福利| 国产一区二区三区久久精品| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 亚洲国产精品综合久久一线| 国产精品视频久久久| 久久久无码人妻精品无码| 亚洲精品蜜桃久久久久久| 伊人精品久久久久7777| 日日狠狠久久偷偷色综合96蜜桃| 99久久精品国产综合一区| 一本大道加勒比久久综合| 久久亚洲国产精品一区二区| 国产精品久久波多野结衣| 久久发布国产伦子伦精品| 国产精品久久久福利| 久久九九亚洲精品| 99久久精品国产综合一区| 成人精品一区二区久久|