2010-02-23 124 views

回答

222

這樣簡短的回答:

bjam --toolset=msvc-9.0 address-model=64 --build-type=complete 

由於較長的答案,這裏是我的構建說明在同一層次結構有VS .NET 2008的32位和64位的Boost庫(這是我懷疑一個常見的情況):

  1. 構建的win32二進制文件

    bjam --toolset=msvc-9.0 --build-type=complete stage 
    
  2. 創建lib目錄\ WIN32

  3. 移動臺\ lib中的內容,以LIB \ WIN32
  4. 除去目錄bin.v2和舞臺
  5. 構建64二進制

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage 
    
  6. 創建lib目錄\ x64

  7. 將stage \ lib的內容移動到lib \ x64
  8. 刪除目錄bin.v2和階段
+25

您也可以指定stage目錄,這樣就不需要複製結果庫: bjam --toolset = msvc-9.0 address-model = 64 --build-type = complete --stagedir = lib \ x64 stage – hkaiser 2010-02-24 14:05:32

+1

@hkaiser當我試圖將這些庫結束於'lib \ x64 \ lib'時。 – 2010-06-29 17:19:01

+8

什麼是_stage_? – 2010-08-19 23:02:34

59

我有我的網站上生成的二進制文件: http://boost.teeks99.com

編輯2013年5月13日:我的版本是現在可(從1.53開始)直接從sourceforge page

+5

很好,您提供了這個,因爲BoostPRo(爲Boost庫提供二進制文件) x64版本。謝謝! – CharlesB 2010-09-16 12:04:46

+0

你可以發佈VS2015(VC++ 14)二進制文件嗎?這將不勝感激。 – 2015-07-22 21:02:26

+1

msvc-14.0二進制文件將在1.59版中發佈,並在幾周內發佈。 – teeks99 2015-07-23 22:25:30

4

我做了我一個小腳本編譯他們都爲VS2005和VS2008:

md stage\lib\win32 
md stage\lib\x64 

REM Visual Studio 2005 
bjam --toolset=msvc-8.0 --build-type=complete stage 
move /Y stage\lib\* stage\lib\win32\ 

bjam --toolset=msvc-8.0 address-model=64 --build-type=complete stage 
move /Y stage\lib\* stage\lib\x64\ 

REM Visual Studio 2008 
bjam --toolset=msvc-9.0 --build-type=complete stage 
move /Y stage\lib\* stage\lib\win32\ 

bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage 
move /Y stage\lib\* stage\lib\x64\ 
12

此時,由teeks99(見其他答案)提供的64位二進制文​​件似乎是唯一的免費64圍繞二進制文件。一段時間以來,BoostPro還提供了64位的二進制文件,但是在1.51版本中,它們似乎已經不在使用或者處於商業狀態。

所以,我們又回到了兩個選項:teeks99二進制文件,或者構建您自己的。

多數時候我需要建立自己的信息在這裏: https://stackoverflow.com/a/2655683/613288

唯一缺少的是如何得到這個與Visual Studio 2010速成的免費版本。我發現在其他地方缺少部分,經過一些定製後,我用於構建boost 1.49.0二進制文件的最終配方爲:

啓動Visual C++,然後從Tools菜單啓動Visual Studio命令提示符。

在控制檯窗口中,執行以下操作:

"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64 

,然後在升壓目錄:

bootstrap.bat 
b2 -a -sBZIP2_SOURCE="C:\bzip2-1.0.6" -sZLIB_SOURCE="C:\zlib-1.2.5" --toolset=msvc-10.0 architecture=x86 address-model=64 link=static --with-date_time --with-filesystem --with-serialization --with-test --with-thread --with-system --with-regex --with-iostreams stage 

last命令定製什麼,我正好需要(只是一些靜態鏈接庫)。

+0

我下載了他們的x64 1_51安裝程序,但是,它包含系統庫損壞的存檔,並且似乎有一些其他庫存在x86(我收到鏈接程序警告)。切換到teeks99的庫後,一切都變好了。 – Alex 2012-09-24 14:22:48

15

UPDATE(19.09.2017):爲VS2017添加了腳本行。請注意,Boost支持上面某個版本的VS2017編譯器。我使用了最新版本(1.65.1)。

我用這個腳本建設提升爲x64和x86平臺,lib和DLL,調試和發佈了VS2017,VS2015和VS2013:

md stage\VS2017\x64 
md stage\VS2015\x64 
md stage\VS2013\x64  

b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug 
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release 

b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug 
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release 

b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug 
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release 


md stage\VS2017\win32 
md stage\VS2015\win32 
md stage\VS2013\win32 

b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug 
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release 

b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug 
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release 

b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug 
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release 

pause 

,您可以撥打.bat文件並運行它爲構建提升二進制文件。