別人寫的編譯參考:python
目標:使用VS2015 編譯 64位的boost庫。bootstrap
一直以來都是在Win32環境下Build和使用boost,但如今基本上天天都在64位Win7下工做,因此頗有必要把這幾天的經驗總結下來。工具
1. 下載並解壓boost 1.61.0 壓縮包ui
2. 解壓並運行批處理文件bootstrap.bat,目錄下會生成兩個可執行文件命令行
3. 和32位環境不一樣,x64環境下編譯得先從開始菜單啓動Visual Studio的VS2015 x64 Native Tools Command Prompt 進入命令提示符,而不是隨便打開任意一個命令行窗口就行。debug
4. 而後cd到boost根文件夾,運行bootstrap.bat生成x64版的b2.exe 和 bjam.exe (他們只是版本不一樣的產物,可是用法一致,bjam是以前版本的,b2 是最新的)編譯器
5. 而後運行命令: it
b2 --build-type=complete toolset=msvc-14.0 threading=multi link=shared address-model=64 io
便可生成DLL版平臺庫,若是要編譯靜態庫版就把shared改成static。編譯
個人過程以下:
1.下載1.63.0版本的boost庫,放置D:\boost_1_63_0
2.編譯64位的boost須要在VC 提供的命令提示符進行操做。
3.開始轉到boost根目錄,運行bootstrap.Bat生成X64版本的bjam.exe和b2。
4.
B2是新版,而後運行命令:64位靜態庫
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=static runtime-link=static threading=multi debug release
64位的動態庫
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=static runtime-link=shared threading=multi debug release
我是用的是:
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=shared threading=multi
b2 stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="d:\boost_1_63_0\lib64-msvc-14" address-model=64 link=static threading=multi
5.須要注意的是address-model=64屬性,若是沒有這個屬性的話,會默認生成32位的平臺庫,加入這個選項才能生成64位的DLL。
要編譯好久
而後可使用了。
6.使用方法:
設置下環境變量,頭文件路徑BOOST64_BASE_DIR , BOOST64_LIB_DIR.
2017/8/28
再次編譯系統,在visual studio 2010下編譯boost庫:
使用VS2010 64位工具,切換到boost目錄,鍵入命令:
b2 stage --toolset=msvc-10.0 --stagedir="d:\boost_1_63_0\lib64-msvc-10" address-model=64
選擇全編譯,知名庫的編譯路徑,編譯器工具,雖然時間長,不會有缺庫的提示。