AppleはGCC 4.6またはGCC 4.7をサポートしていないので、MacPortsのGCC 4.6/4.7のビルドに切り替えました。しかし、私は "ユニバーサル"アーキテクチャで自分のコードを構築するのに問題がありました。MacportsのGCCを使ってユニバーサルコードをコンパイルできますか?
伝統的には、バイナリを少なくともi386/x86_64アーキテクチャ用にコンパイルするには、g++ -arch i386 -arch x86_64 ...
を実行します。私はいくつかの検索を行い、-archオプションはリンゴのコンパイラによってのみサポートされていることに気付きました。もちろん、Macportsでは動作しませんでした。私ができる最良の方法は、私が望むアーキテクチャを指定するのに-m32
/-m64
オプションを使うことです。ただし、i386またはx86_64形式のバイナリのみを生成します。私が本当に望むのは、元のGCCコンパイラと同様に、両方のアーキテクチャ(Universal)でバイナリファイルを取得することです。
これはサポートされていないか、または既知の問題ですか?私は一晩中、Googleで回答を探してみましたが、役に立たないものはありません。だから私はこの問題を抱えている唯一の人なのか疑問に思っています。誰かが私にいくつかの提案を与えることができれば本当に感謝します。
BTW。私はgcc46 +universal
の亜種をインストールしましたが、アーキテクチャごとに別々のバイナリをコンパイルする以外には本当に普遍的なものはありませんでした。
興。
感謝を。私は脂肪があることを知らなかった、私は本当に必要なのは脂肪だと思う。アーチフラグを止め、lipoを使ってユニバーサルコードを生成するためにMakefileのいくつかを変更する必要があります:) –