2011-11-10 4 views
3

OS Xのボックスにgcc 4.6.1を正しくビルドしてインストールしましたが、fat/universal libstdC++ライブラリを作成することができません。それをどうすればいいのですか?OS Xでfat gcc46 libstdC++をビルドするには?

デフォルト/usr/lib/libstdc++.6.dylibは、次のアーキテクチャをサポートしています。

[host:~] nsteiner% file /usr/lib/libstdc++.6.dylib 
/usr/lib/libstdc++.6.dylib: Mach-O universal binary with 3 architectures 
/usr/lib/libstdc++.6.dylib (for architecture i386):  Mach-O dynamically linked shared library i386 
/usr/lib/libstdc++.6.dylib (for architecture ppc7400): Mach-O dynamically linked shared library ppc 
/usr/lib/libstdc++.6.dylib (for architecture x86_64): Mach-O 64-bit dynamically linked shared library x86_64 

gccが私のために/usr/local/lib/libstdc++.6.dylibを与えるために、私は希望これらのアーキテクチャは同じですが、の--enable-multilibまたは--with-multilib-list=i386,ppc,x86_64または--enable-targets=allという私の試みは間違っていました。 configuremakeどちらもエラーを生成しますが、生成されますことすべてはこれです:

[host:~] nsteiner% file /usr/local/lib/libstdc++.6.dylib 
/usr/local/lib/libstdc++.6.dylib: Mach-O 64-bit dynamically linked shared library x86_64 

答えて

2

のみAppleのGCC 4.2.1は、まだ脂肪のバイナリをサポートしています。追加の手作業を取って(または良いラッパースクリプトを用意して)、すべてのソースを2回コンパイルし、結果のバイナリにlipoを実行する必要があります。

+0

rubenvb、lipoは私が必要としていたほとんどをしました。ありがとう。 GCCは明らかにライブラリのppc風味を作りませんでしたが、i386とx86_64のバージョンをマージするのは簡単でした。 –

関連する問題