0

Mac OS で C++、Eclipse、および Sourcery Lite エディションの ARM ツールチェーンを使用して、arm6/arm7 用のスタティック ライブラリ (.a) を開発しようとしています。Eclipse 用の sourcery lite ツールチェーンを正常にセットアップ (コンパイル/ビルド/構成) し、arm9 用の静的ライブラリをエラーなしでビルドできました。どういうわけか、arm6/arm7 用にコンパイル/ビルドされません。どうしてか分かりません ?次のコンパイル時エラーが表示されます。

しかし、「lip -info」を使用してビルドされた静的ライブラリを確認すると、「lipo: アーキテクチャ仕様のないアーカイブ: libHelloCppLib.a (アーキテクチャを特定できません)」と表示されます。また、そのライブラリを iPhone アプリで使用できません。誰か助けてくれませんか?これに何が間違っている可能性がありますか? ありがとうございました。

4

1 に答える 1

0

Linux 用の Sourcery CodeBench は、armv4、armv5、および armv7 をサポートしています。v5 設定は、v6/v7 ハードウェアで正常に機能するはずです。

Linux 以外のバージョン (「EABI」) を使用している場合は、armv4、armv6-M、および armv7 があります。「v6-M」マルチライブラリがあなたに適しているかどうかはわかりません(マイクロコントローラー用です)。その場合、v4 の方がうまくいくかもしれません。

公式にサポートされているもの以外のアーキテクチャ ( など) を指定することは可能-march=armv6であり、コンパイラは (おそらく) 正しいことを行いますが、それら ( libgcc.a)用に構築されたサポート ライブラリが付属していないため、 (おそらく v4 のもの) があり、リンク エラーが発生する場合があります。試してみてください:)

ところで、「Sourcery G++」を使用している場合、最新バージョンを使用しているようには聞こえません。数年前から「Sourcery CodeBench」と呼ばれています。

于 2013-08-23T12:23:25.043 に答える