使用VS2015 編譯 64位的boost庫

別人寫的編譯參考: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。編譯

  • 只生成一個庫的話加上例如--with-python得編譯選項,避免生成東西太多、時間太長。
  • 要有address-model=64屬性,若是沒有這個屬性的話,會默認生成32位的平臺庫,加入這個選項才能生成64位的DLL。
  • 若是要生成Boost.Python庫,須要先下載安裝x64版的Python安裝包,我用的版本是3.2.3。在使用這個庫編寫Python擴展DLL時,默認是使用動態庫版的Boost.Python,要使用靜態版的必須在C++項目中定義BOOST_PYTHON_STATIC_LIB宏,這樣就不用在使用或發佈擴展時帶着boost_python-vc90-mt-1_50.dll一塊兒了,固然擴展DLL的尺寸會大些,若是作實驗不必這樣,編譯又慢生成的文件也大。

 

 

個人過程以下:

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

 

選擇全編譯,知名庫的編譯路徑,編譯器工具,雖然時間長,不會有缺庫的提示。

相關文章
相關標籤/搜索