windows下編譯Boost

  1. 當前boost最新版本爲1.55,下載地址: http://sourceforge.net/projects/boost/files/boost/1.55.0/

    或者從官網(www.boost.org)下載最新版的BOOST源碼,如圖所示.

    通過測試,2012和2013步驟相同,這裏以2012爲例。

    win7 vs2012/2013 編譯boost 1.55

  2.  打開VS2012 Native Tools Command,能夠從開始--Microsoft Visual Studio 2012找到:
    win7 vs2012/2013 編譯boost 1.55
     
     
     
  3.  將下載的 boost_1_55_0.zip 解壓在F盤,例如 F:\boost_1_53_0

    執行bootstrap.bat,如圖綠框所示:html

    win7 vs2012/2013 編譯boost 1.55
     
  4.  編譯,能夠簡單的使用b2 install,也能夠指定存放目錄,或者尋找網上其它幫助文章。

         查看幫助能夠輸入:.\b2 --helpbootstrap

         好比要開啓多線程編譯:b2 install threading=multi多線程

         設置生成的是debug或者releaseide

         備註:若是是使用VS2013,請指定輸出庫類型,不然會缺一個lib文件:工具

         "沒法打開文件 libboost_thread_vc120_mt_sgd-1_55.lib"。測試

          在2013時,我是使用下面的語句進行編譯:.net

    // 若是要獲取動態庫:命令行

    bjam install stage --toolset=msvc-12.0 --stagedir="C:\Boost\boost_vc_120" link=shared runtime-link=shared threading=multi debug release  線程

    // 若是是要獲取靜態庫:debug

    bjam install stage --toolset=msvc-12.0 --stagedir="C:\Boost\boost_vc_120" link=static runtime-link=static threading=multi debug release  

        其中,注意修改--toolset=msvc-12.0,將12.0修改爲對應的vs版本號,12.0是VS2013的版本號。

        目標地址也要修改爲你所需的。

        注意,不要漏了install,它會幫你把頭文件集合到一個文件夾中。

          編譯過程有一個複製過程,編譯須要的時間比較長,本次編譯過程當中,會在C盤根目錄下生成一個boost文件夾,而後包含include和lib文件夾,這就是咱們將要使用的頭文件和庫文件。

    win7 vs2012/2013 編譯boost 1.55
     
     
  5. 編譯完了咱們就使用編譯在C盤中的文件。我將它們拷貝到了F盤,

    下圖三個文件分別是:   1) 將要使用的boost頭文件和庫文件。   2) 解壓出的boost文件夾,就是使用這個文件夾來進行 1 -- 3步驟的。   3)BoostTest 測試工程。

    須要簡單的配置兩個地方:

    這裏使用絕對路徑,也能夠配置環境來使用。

    win7 vs2012/2013 編譯boost 1.55
    win7 vs2012/2013 編譯boost 1.55

    也能夠參考阿清給個人文檔:

    添加boost庫
    Boost是一個和STL相似的標準庫,但它擴充了STL使得泛型的優勢發揮到最佳,所以如今Boost比STL更爲實用。
    Step1:下載Boost庫,這裏我選擇下載boost_1_55_0.zip

    Step2:
    解壓boost文件到本地目錄(如G:\boost_1_55_0),發現解壓後的文件中有一個bootstrap.bat文件。而後以管理員身份打開cmd窗口,具體命令bootstrap.bat或者使用對應的VS工具,好比VS2012 x64 Native Tools Command Prompt工具打開cmd窗口,具體命令bootstrap.bat
    ,上述命令執行完畢後能夠發現G:\boost_1_55_0下新生成了一個bjam.exe文件

    Step3:
    對於額外的一些依賴,好比boost.nowide 官網:http://cppcms.com/files/nowide/html/index.html
    下載對應的Standard Version: boost_nowide.zip 包後,再合併到標準的boost文件中

    Step4:
    若是須要編譯zlib,則須要先去http://www.zlib.net/下載對應的源碼包,解壓到某一路徑
    好比boost/otherLib/而後
    命令行下設置環境變量 set ZLIB_SOURCE="D:\dyq\P\boost_1_59_0\otherLib\zlib-1.2.3"

    Step5:
    運行bjam.exe

    Step6:
    編譯32位靜態庫:
    b2 link=static runtime-link=static threading=multi debug release
    編譯64位靜態mt庫:
    b2 stage --toolset=msvc-12.0 architecture=x86 address-model=64 --stagedir=".\stage\vc12_x64" link=static runtime-link=static threading=multi debug release

    b2 stage --toolset=msvc-12.0 architecture=x86 address-model=64 --stagedir=".\stage\vc12_x64" link=static runtime-link=shared threading=multi debug release

    編譯64位靜態md庫:
    b2 stage --toolset=msvc-12.0 architecture=x86 address-model=64 --stagedir=".\stage\vc12_x64" link=static runtime-link=shared threading=multi debug release

    Step7:
    添加boostest工程的包含目錄和庫目錄
    包含目錄添加 G:\boost_1_55_0
    庫目錄添加 G:\boost_1_55_0\stage\lib

    注意:程序的運行時(多線程/多線程DLL)要與庫保持一致,不然連接會報找不到文件的錯誤

相關文章
相關標籤/搜索