編譯boost (boost_1_52_0)

寫在最前:

老版本的boost編譯可以參考以下:(其實boost的所有版本編譯都差不多)

Boost_1_46_1編譯: http://blog.csdn.net/great3779/article/details/6454663

Boost_1_47_0編譯: http://blog.csdn.net/great3779/article/details/6654780

Boost_1_48_0編譯: http://blog.csdn.net/great3779/article/details/6977922

Boost_1_49_0編譯: http://blog.csdn.net/great3779/article/details/7310392


Boost社區早在2012年11月5日即發佈了boost_1_52_0,但由於最近工作上比較忙,因此直到今天才有空將此最新版本的boost編譯指南放上來(也是由於工作忙的關係,1_50_0和1_51_0的編譯指南沒有寫)。1_49_0的編譯腳本在1_52_0上是完全兼容的,同樣能自動將boost編譯成vs2008、vs2010的32位及64位版本。過程複述如下:

1. 至http://sourceforge.net/projects/boost/files/boost/1.52.0/下載boost_1_52_0.7z。(說點題外話,.7z是7zip下的一種通用壓縮格式,具有比.rar和.zip更優秀的性能,並且還是開源的(可獲取到所有源代碼!),最近我也正在研讀其源代碼,其實現的string-like類(CStringBase)以及vector-like類(CBaseRecordVector)具有和STL相似的功能,且可讀性更好。網址爲 http://www.7-zip.org/ )

2. 解壓至D:\boost_1_52_0\ (當然也可以是其他文件夾,僅作示例。)

3. 將批處理文件放在D:\boost_1_52_0\下。批處理文件可至http://download.csdn.net/detail/great3779/4104039免費下載。(也即附在最後的腳本)(如圖)


4. 接下來,你只需要啓動批處理,然後端一杯咖啡,等待腳本爲你做完一切。完成後的效果如下圖:


5. 最後,去設置你的編譯器,開始使用最新版的boost吧。



附:批處理腳本:

  1. rem 創建者:黃志丹 [email protected] 20130103


    rem @echo off


    rem 先編譯bjam
    start bootstrap.bat


    rem 等待一分鐘待bjam編譯完成(如果電腦性能過差,可以設置等待時間更長一些)
    SET SLEEP=ping 127.0.0.1 -n
    %SLEEP% 60 > nul


    rem 利用bjam編譯boost庫
    rem 在此,我們編譯vs2008和vs2010下的x86及x64共4類boost庫文件


    rem 建立庫文件夾
    rem vs2008 win32庫文件夾
    md stage\lib\win32\vs9_0\


    rem vs2008 x64庫文件夾
    md stage\lib\x64\vs9_0\


    rem vs2010 win32庫文件夾
    md stage\lib\win32\vs10_0\


    rem vs2010 x64庫文件夾
    md stage\lib\x64\vs10_0\


    rem ******************************************************************
    rem 先刪除lib下所有文件(不刪除文件夾)
    del stage\lib\*.* /Q


    rem 編譯vs2008 win32庫文件
    bjam --toolset=msvc-9.0 architecture=x86 --with-system --with-thread --with-date_time --with-filesystem --with-serialization


    rem 拷貝至\stage\lib\win32\vs9_0
    copy stage\lib\*.* stage\lib\win32\vs9_0\*.* /Y
    rem ##################################################################


    rem ******************************************************************
    rem 先刪除lib下所有文件(不刪除文件夾)
    del stage\lib\*.* /Q


    rem 編譯vs2008 x64庫文件
    bjam --toolset=msvc-9.0 architecture=x86 address-model=64 --with-system --with-thread --with-date_time --with-filesystem --with-serialization


    rem 拷貝至\stage\lib\x64\vs9_0
    copy stage\lib\*.* stage\lib\x64\vs9_0\*.* /Y
    rem ##################################################################


    rem ******************************************************************
    rem 先刪除lib下所有文件(不刪除文件夾)
    del stage\lib\*.* /Q


    rem 編譯vs2010 win32庫文件
    bjam --toolset=msvc-10.0 architecture=x86 --with-system --with-thread --with-date_time --with-filesystem --with-serialization


    rem 拷貝至\stage\lib\win32\vs10_0
    copy stage\lib\*.* stage\lib\win32\vs10_0\*.* /Y
    rem ##################################################################


    rem ******************************************************************
    rem 先刪除lib下所有文件(不刪除文件夾)
    del stage\lib\*.* /Q


    rem 編譯vs2010 x64庫文件
    bjam --toolset=msvc-10.0 architecture=x86 address-model=64 --with-system --with-thread --with-date_time --with-filesystem --with-serialization


    rem 拷貝至\stage\lib\x64\vs10_0
    copy stage\lib\*.* stage\lib\x64\vs10_0\*.* /Y
    rem ##################################################################


    rem 刪除lib下所有文件(不刪除文件夾)
    del stage\lib\*.* /Q


    rem boost_1_52_0共有21個庫需要編譯使用,分別是chrono, date_time, exception, filesystem, graph, graph_parallel, iostreams, locale, math, 
    rem mpi, program_options, python, random, regex, serialization, signals, system, test, thread, timer, wave。
    rem 我僅選用了自己常用的幾個做以上編譯示例,其他使用者可以根據自己的需求選擇編譯。全部編譯boost大概需要1個小時以上(視機器性能)
    rem 全部編譯boost的命令如下:bjam --toolset=msvc-9.0 --build-type=complete stage
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章