web-dev-qa-db-ja.com

Windowsでx64 Boostライブラリをどのように構築しますか?

X86 Boostライブラリを何度もビルドしましたが、x64ライブラリをビルドすることはできません。 「Visual Studio 2005 x64 Cross Toolsコマンドプロンプト」を起動して、通常のビルドを実行します。

bjam --toolset=msvc --build-type=complete --build-dir=c:\build install

ただし、x86 .libファイルは引き続き生成されます(これをdumpbin/headersで検証しました)。私は何を間違えていますか?

49
Ferruccio

address-model=64パラメーターを追加する必要があります。

見て ここ

59
macbirdie

受け入れられた答えは正しいです。他の誰かがこの回答をグーグルで検索しても、x64バージョンを作成できない場合にこれを追加します。

以下は、Visual Studio 15 2017 Community EditionでBoost 1.63をビルドするために私がしなければならなかったことです。

VS環境cmdシェルから実行されるコマンド。ツール-> Visual Studioコマンドプロンプト

C:\Work\Boost_1_63> C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat AMD64
C:\Work\Boost_1_63> bootstrap.bat
C:\Work\Boost_1_63> bjam -j4 architecture=x86 address-model=64 link=static stage
C:\Work\Boost_1_63> bjam --prefix=C:\opt\boost architecture=x86 address-model=64 link=static install

Dumpbinを使用して、結果の.libがx64であることを確認できます。

C:\Work> dumpbin /headers C:\work\boost_1_63\stage\lib\libboost_locale-vc140-mt-1_63.lib | findstr machine
8664 machine (x64)
8664 machine (x64)
8664 machine (x64)
8664 machine (x64) 
...
5
Teemu Ikonen

以下を見つけることができます Boost.Build property

address-model=64
0
sergtk