web-dev-qa-db-ja.com

64ビットウィンドウ用のBoostの64ビットバージョン

VS2008用の64ビットBoostライブラリのバージョンはありますか?または、自分でコンパイルする必要がありますか?もしそうなら、誰かがそれを経験したことがありますか?

119
ra170

簡単な答えとして:

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

より長い答えとして、VS .NET 2008 32ビットと64ビットのブーストライブラリを同じ階層に持つための私のビルドノートがあります(これは一般的なユースケースと思われます):

  1. Win32バイナリをビルドする

    bjam --toolset=msvc-9.0 --build-type=complete stage
    
  2. ディレクトリlib\win32を作成します

  3. Stage\libの内容をlib\win32に移動します
  4. ディレクトリbin.v2とステージを削除します
  5. X64バイナリをビルドする

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
    
  6. ディレクトリlib\x64を作成します

  7. Stage\libの内容をlib\x64に移動します
  8. ディレクトリbin.v2とステージを削除します
226
Adrian Conlon

私のサイトにビルドされたバイナリがあります: http://boost.teeks99.com

編集2013-05-13:ビルドが(1.53以降) sourceforgeページ から直接利用できるようになりました。

63
teeks99

更新(2017.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ファイルを作成し、それを実行して、ブーストバイナリを構築できます。

21
mtb

現時点では、teeks99が提供する64ビットバイナリ(他の回答を参照)が、周りにある唯一の無料の64ビットバイナリのようです。しばらくの間、BoostProは64ビットバイナリも提供していましたが、1.51の時点では、それらは使用されていないようです。

そこで、再び2つのオプションに戻ります。teeks99バイナリ、または独自のビルドです。

自分で構築するために必要な情報のほとんどは次のとおりです。 https://stackoverflow.com/a/2655683/613288

唯一欠けているのは、無料版のVisual Studio 2010 Expressでこれを機能させる方法です。私はどこか他の場所に不足している部分があることを発見し、いくつかのカスタマイズの後、ブースト1.49.0バイナリのビルドに使用した最終的なレシピは次のとおりでした:

Visual C++を起動し、[ツール]メニューからVisual Studioコマンドプロンプトを起動します。

コンソールウィンドウで、次の操作を行います。

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

そして、boostディレクトリで:

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

最後のコマンドは、たまたま必要なものに合わせてカスタマイズされています(静的にリンクされたライブラリのみ)。

12
ecotax

私は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\
4
Harald Krause