web-dev-qa-db-ja.com

armv7sのコンパイルライブラリ-cputype(12)およびcpusubtype(11)

私はサードパーティのライブラリの開発者であり、armv7s用にライブラリを再コンパイルしたいのですが、問題があるようです。

Xcodeを4.5に更新しました。プロジェクトと関連するターゲットを更新して、armv7 armv7sの有効なアーキテクチャを使用しました。

ただし、fileまたはlipo -infoを実行すると、次のように表示されます。

  • i386
  • armv7
  • (cputype(12)cpusubtype(11))

Armv7はありません。私は何かが足りないのですか?

32
Liyan Chang

XCodeのlipoを使用します。

xcrun -sdk iphoneos lipo
62
Cfr

どうやら、(cputype (12) cpusubtype (11))はarmv7sのもう1つの命名法です。

詳細はこちらをご覧ください: http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

上記のブログでは、一部のライブラリarmv7sビルドと互換性を持たせる方法についても説明しています。上記の説明は、彼がfileコマンドからの出力について説明している記事の終わり近くにあります。

その一部を引用するには:

このヘッダー(Mach-Oヘッダーと呼ばれる)の中には、CPUタイプとCPUサブタイプのフィールドがあります。 ARMはCPUタイプ12、armv7はCPUサブタイプ9、armv7sはCPUサブタイプ11です。

17
Nandeep Mali

リポにはarmv7sの定義がないため、名前は表示されず、CPUタイプとサブタイプのみが表示されます。したがって、このファットバイナリは問題ありません。新しいアーキテクチャを手動で操作したい場合は、Appleがツールを更新するまで待つ必要があります(たとえば、現時点では、armv7を手動でマージする方法はありません)。スリムバイナリからファットバイナリへ)。

1
Anton Banchev