VS2008用の64ビットBoostライブラリのバージョンはありますか?または、自分でコンパイルする必要がありますか?もしそうなら、誰かがそれを経験したことがありますか?
簡単な答えとして:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
より長い答えとして、VS .NET 2008 32ビットと64ビットのブーストライブラリを同じ階層に持つための私のビルドノートがあります(これは一般的なユースケースと思われます):
Win32バイナリをビルドする
bjam --toolset=msvc-9.0 --build-type=complete stage
ディレクトリlib\win32を作成します
X64バイナリをビルドする
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
ディレクトリlib\x64を作成します
私のサイトにビルドされたバイナリがあります: http://boost.teeks99.com
編集2013-05-13:ビルドが(1.53以降) sourceforgeページ から直接利用できるようになりました。
更新(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
ファイルを作成し、それを実行して、ブーストバイナリを構築できます。
現時点では、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
最後のコマンドは、たまたま必要なものに合わせてカスタマイズされています(静的にリンクされたライブラリのみ)。
私は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\