下載
通過boost官方網站, 或直接在source forge下載boost_1_6x_0.
可選包
Zlib library, 環境變量: ZLIB_SOURCE
bzip2, 環境變量: BZIP2_SOURCE
ICU i18n, 環境變量HAVE_ICU=1, ICU_PATH
expat, 環境變量: EXPAT_INCLUDE (頭文件包含目錄) 和 EXPAT_LIBPATH (庫目錄)
在Windows上編譯Boost
下載完Boost源文件壓縮包后, 創建boost-src目錄, 並把源文件解壓到此目錄. 假設你想把Boost安裝到boost-dir目錄, boost-build目錄是中間臨時文件. 在命令行執行下面的步驟:
編譯器的選擇(x86_amd64, amd64等的區別)(注:2)
- 32/64 位系統編譯在32位系統上運行 => x86
- 32 系統上編譯64位系統上運行 => x86_amd64
- 64 系統上編譯在64位系統上運行 => amd64
1.初始化VC編譯環境:
- 32位系統上, 初始化32位VC編譯環境:
"C:\Program Files\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
- 32位系統上, 要生成64位的boost庫, 初始化64位VC++編譯環境:
"C:\Program Files\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
- 64位操作系統上, 安裝的32位Visual Studio, Visual Studio 一般安裝在 C:\Program Files (x86):
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
- 64位操作系統上, 安裝的32位Visual Studio, 生成64位庫:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
2. 生成Boost編譯系統:
cd /d drive:\path\to\boost-src
bootstrap.bat
3. 解壓bzip2和zlib源壓縮包, 備注解壓的目錄.
4. 編譯和安裝:
- 32位庫
b2 install --libdir=boost-dir\libs --includedir= boost-dir\include --build-dir=boost-build --layout=tagged variant=debug,release threading=multi link=shared runtime-link=shared -sZLIB_SOURCE=<zlib-src-dir> -sBZIP2_SOURCE=<bzip2-src-dir>
- 64位庫
b2 install --libdir=boost-dir\libs64 --includedir= boostdir\include --build-dir=boost-build64 --layout=tagged variant=debug,release threading=multi link=shared runtime-link=shared address-model=64 –sZLIB_SOURCE=<zlib-src-dir> -sBZIP2_SOURCE=<bzip2-src-dir>
我的實例:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
cd /d F:\Develop\Libs\boost_1_6x_0
bootstrap.bat
1. 編譯和安裝32位庫:
b2 install --libdir=G:\yy\build\libs --includedir=G:\yy\build\include --build-dir=boost-build --layout=tagged variant=debug,release threading=multi link=shared runtime-link=shared
2. 編譯和安裝64位庫:
b2 install --libdir=G:\yy\build\libs64 --includedir=G:\yy\build\include --build-dir=boost-build64--layout=tagged variant=debug,release threading=multi link=shared runtime-link=shared address-model=64 architecture=x86
3. 編譯和安裝64位庫(方式2):
b2 install --prefix=F:\Develop\bin\x64\boost-1_62 --build-dir=boost-build64 --layout=tagged variant=debug,release threading=multi link=shared runtime-link=shared address-model=64 architecture=x86 --with-thread --with-graph --with-date_time
4. 編譯和安裝64位庫(2017-3-2 1.63):
b2 install --prefix=F:\Develop\bin\x64\boost-1_63 --build-dir=F:\Develop\build\VC14\boost-1_63-build64 address-model=64 architecture=x86 --with-thread
默認值:
--build-type=minimal 在Windows上, 生成基於共享運行庫的debug和release靜態多線程庫
--layout=versioned 在Windows上默認,Boost二進制文件名稱包括Boost版本號、編譯器名稱和版本和編碼生成屬性。
Boost頭文件安裝在<HDRDIR>子目錄 <HDRDIR>的名字包含Boost版本號。
5. 編譯和安裝64位庫(boost.python)(2017-3-18 1.63):
b2 install --prefix=D:\Develop\bin\vc14\x64\boost-1_63 --build-dir=D:\Develop\build\vc14\boost-1_63-build64 address-model=64 architecture=x86 toolset=msvc-14.0 --with-python link=shared
Boost的自動鏈接功能:
Boost默認啟用自動鏈接功能, 建議采用關閉自動鏈接功能。
在附加預定義宏 加 BOOST_ALL_NO_LIB ,這樣就關閉了BOOST的自動鏈接LIB的功能。然后把需要的lib庫在附加庫里手動加入。
修訂:
1. 2016-11-09: 64位編譯需要加入CPU架構參數: architecture=x86
2. 2016-11-23: 編譯器的選擇(x86_amd64, amd64等的區別), 內容進行了整理, boost更新到1.62.0
3. 2017-03-02: 使用默認參數編譯, boost更新到1.63.0
4. 2017-04-15: 建議關閉boost自動鏈接功能
