3

OS X ボックスに gcc 4.6.1 を正常にビルドしてインストールしましたが、fat/universal 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 を提供してもらいたいのですが、 or を使用する試みconfigure--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
4

1 に答える 1

2

Apple の GCC 4.2.1 だけがまだファット バイナリをサポートしています。すべてのソースを 2 回コンパイルし、結果のバイナリで lipo を実行するには、追加の手動手順を実行する (または非常に優れたラッパー スクリプトを提供する) 必要があります。

于 2011-11-10T16:01:12.720 に答える