2

armv7 および i386 用にコンパイルされたファット スタティック ライブラリがあります。私の iPhone/iPad プロジェクトではすべて正常に動作しますが、アプリケーションを armv7 デバイスにしかインストールできないため、iPhone 3gs 以降...

私のプロジェクトをarmv6で実行する方法があるので、ipod touchと古いiPhoneバージョンにインストールできます(armv7ライブラリの使用を無効にした場合も同様です)。

私はこれを試します:

#ifdef _ARM_ARCH_7
... //include and use of armv7 library
#else
... //not include armv7 library
#endif

しかし、プロジェクトをコンパイルすると、リンクエラーが発生します...

コマンド /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++ が終了コード 1 で失敗しました

したがって、すべての種類のデバイスでアプリを実行する方法がありますが、armv7 用にコンパイルするときに特定のライブラリをリンクしますか???

手伝ってくれてありがとう!

4

1 に答える 1

2

そのライブラリを弱リンクする必要があります。ビルド設定を開き、その他のリンカー フラグを見つけます。2 つのエントリを追加する必要があります。1 つ目は「-weak_library」、2 つ目はライブラリ ファイルのパスです (これが何であるかを見つけるために、リンカーに渡されるものを探す必要がある場合があります)。

このリストは、提示された順序でリンカーへのパラメーターに変換されるため、この順序にする必要があります。

于 2011-12-06T03:09:20.713 に答える