GNU C コンパイラは無効なアーキテクチャ名をリンカに渡します。たとえば、gcc helloworld.i
エラーが発生しますld: unknown/unsupported architecture name: -arch arm
。 LDでいくつかの実験を行った結果、これがarmv7
私が使うべきアーキテクチャのようです。コンパイルとアセンブリの操作が正常に動作しているようです。
コンパイラコレクション(iphone-gcc)は、CCツールコレクションの外部にスタンドアロンインストールとして提供された最新のLD64ではなく、オープンソースのDarwin CCツールを介して提供されている古いバージョンのリンカと連携するように設計されているようです。 。リンカーに他のアーキテクチャを渡すようにGCCに指示する方法はありますか?-Wl,-arch,armv7
あるいは、GCCに渡すと-Xlinker -arch -Xlinker armv7
同じエラーが発生します。
ベストアンサー1
ツールチェーンを断片的にアップグレードしないでください。これらの部分は一緒に機能する必要があります。 GNUツールはさまざまなバリエーションを可能にするため、特に次の作業のためにさまざまな部分が連携するように設定する必要があります。クロスコンパイラ。
何らかの理由で最新バージョンが必要な場合は、ld
それをサポートする完全なツールチェーンを構築する必要があります。