ブースト 1.45 ユニバーサル バイナリをビルドするには? ヒョウ/ユキヒョウ?
3 に答える
OSX 10.6 で 4 ウェイ ユニバーサル ブースト スタティック バイナリをビルドするには、次のようにします。
ブースト Web サイトからブーストをダウンロードします。
アーカイブを解凍
cd
してboost_x_xx_x
フォルダーに入れます (x_xx_x
使用しているブーストのバージョンはどこにありますか)。走る:
./bootstrap.sh
その後# The name of the Boost.Jam program changed from "bjam" to "b2" in Boost 1.47.0
# Replace "b2" with "bjam" if you are compiling a version <= 1.46.1
./b2 macosx-version=10.6 macosx-version-min=10.4 architecture=combined threading=multi link=static address-model=32_64
これにより、Boost.MPI (--with-mpi
オプションが必要) を除くすべてがコンパイルされます。ビルド製品が配置されます./stage
更新: XCode 4 をインストールしている場合は、実行する必要がある追加の手順があります。XCode 4 には、PowerPC を対象とすることができるコンパイラまたはライブラリは付属していません。残念ながら、XCode 4 に付属するコンパイラは、Boost で使用されるデフォルトのコンパイラになります。XCode 3 に付属のコンパイラを強制的に使用するには、追加の手順を実行する必要があります。XCode 3 がシステムにインストールされていない場合は、インストールする必要があることに注意してください。
を実行した後、実行./bootstrap.sh
する前にb2
、以下を開きます。
./tools/build/v2/user-config.jam
そのファイルに次の行を追加します。これは、Boost に XCode 3 の g++-4.2 を使用するように指示します。
using darwin : : /Developer-old/usr/bin/g++-4.2 ;
どのライブラリを構築しようとしていますか?ここ(http://www.boost.org/doc/libs/1_45_0/more/getting_started/unix-variants.html)には次のように書かれています。
ほとんどのBoostライブラリはヘッダーのみです。テンプレートとインライン関数を含むヘッダーファイルで完全に構成されており、リンク時に個別にコンパイルされたライブラリバイナリや特別な処理は必要ありません。
構築する必要があるものは次のとおりです。
- Boost.Filesystem
- Boost.GraphParallel
- Boost.IOStreams
- Boost.MPI
- Boost.ProgramOptions
- Boost.Python
- Boost.Regex
- Boost.Serialization
- Boost.Signals
- Boost.System
- Boost.Thread
- Boost.Wave
では、どちらを構築しようとしていますか?
Tiger でユニバーサル バイナリをビルドするために、ホーム ディレクトリ ( )にuser-config.jam
ファイルを作成していました。$HOME
using darwin : : : <compileflags>"-arch ppc -arch i386 -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk" ;
そして、いつものように Jam で Boost を構築していました。おそらく、これは古い Mac OS X バージョンでも動作するはずです。
もう 1 つの方法は MacPorts を使用することですが、この場合、Boost のすべての依存関係をユニバーサル バイナリとして再構築する必要がありますが、これは常に可能とは限りません (Tiger でこれを 2 回実行しましたが、失敗しました)。
どちらの場合も、MacOSX10.4u.sdk を XCode と共にインストールする必要があります。
[編集]
3 つのアーキテクチャ用にビルドするには、同様の質問への回答を読むことをお勧めします。簡単に言うと、ビルド オプションはuser-config.jam
、お使いの Mac OS X のバージョンと対象の Mac OS X のバージョンによって異なります。したがって、前述の回答に基づいてさまざまなバリエーションを試してみてください。