現在、プロジェクトの1つをGCCに移植していますが、x64とx86の両方のサポートが必要なため、これを実現するためにMinGW-w64プロジェクトを使用しています。
ただし、ビルド環境のセットアップで問題が発生しました。私のプロジェクトは現在BoostC++ライブラリを使用しており、ビルドプロセスを簡単にするために、プロジェクトでもBoost.Buildを使用しています(統合が簡単になるため)。
MSVCでは、コマンドラインから次の操作を実行できるため、これで問題ありません。
b2 toolset=msvc address-model=32 # compile as 32-bit
b2 toolset=msvc address-model=64 # compile as 64-bit
MinGW-w64は、32ビットと64ビットのツールチェーンが別々のディレクトリに格納されているため、この「問題」を引き起こしています。(それぞれC:\ MinGW32とC:\ MinGW64)。
アドレスモデルフラグに基づいて正しいツールチェーンを選択するようにBoost.Buildを設定することは可能ですか?そうでない場合、私の次善の選択肢は何ですか?
編集:
それが役立つ場合は、MinGW-w64Webサイトの「PersonalBuilds」フォルダーにあるrubenvb4.6.3-1ビルドを使用しています(特に、コードを解析してもらいたいので、これらのビルドを使用していますが、コンパイルはしていません) --Clangの下)。
編集:
私が今考えた解決策の1つは、コンパイル前にPATHが正しいツールチェーンを指すように「手動で」設定することですが、これにより、ビルドプロセスがさらに複雑になり、回避したいと思います。理想的には、MSVCの場合と同じくらい簡単にしたいと思いますが、これは不可能かもしれないと理解しています。最悪の場合、私が提案したものが機能すると思います。Boost.Buildを呼び出す前に、スクリプトを追加してPATHを正しく設定する必要があります。それはパスをハードコーディングすることを意味しますが、私はやりたくありません...