14

GPUImage フレームワークを使用して、バンプ歪みを実行するサンプル アプリケーションを作成しました。このフレームワークをアプリケーションに追加しましたが、次のエラーが表示されます

レキシカルまたはプリプロセッサの問題 'GPUImage.h' ファイルが見つかりません。

-ObjCフラグを Other Linker Flags に追加しましたが、まだこのエラーが表示されます。この問題を解決してアプリケーションをコンパイルするにはどうすればよいですか?

4

4 に答える 4

30

GPUImage フレームワークを XCode プロジェクトに追加するのは難しい場合があります。そのため、その方法についての画像付きの詳細なステップバイステップの説明を追加しました.

静的コンパイル方法(混乱しないように詳細な解決策)

これは静的コンパイル方法です。これでは基本的に、./build.sh ファイルを使用してフレームワークをコンパイルします。XCode プロジェクトに追加するだけで、適切に使用できるように XCode を構成できます。

  1. GPUImage を Github からダウンロードして抽出します (または単にクローンします)。
  2. GPUImageターミナルのフォルダーに移動します
  3. ./build.sh を実行します。

    注: これにより、Mac 上のすべての SDK 用にすぐに使用できるバイナリがコンパイルおよび作成されます。

  4. build.sh はbuildというフォルダーを作成し、コンパイルされたバイナリを生成して、 Release-iPhoneRelease-iPhoneOSRelease-iphonesimulatorなどのフォルダーにダンプします。 ここに画像の説明を入力

  5. iPhone の場合は、 Release-iphoneを使用します(これはシミュレーターでも機能します)。
  6. Release-iphoneを XCode プロジェクトのルート ディレクトリに (ドラッグ アンド ドロップではなく)コピーして、フレームワークのローカル コピーを作成します。
  7. ここで、 Release-iphone を iPhone から XCode プロジェクトにドラッグ アンド ドロップします。「コピー先..」オプションを必ずチェックしてください。

    ノート:

    • このRelease-iphoneフォルダーには、includelibの 2 つのサブフォルダーが含まれています。
    • includeフォルダーにはすべてのヘッダー.hファイルが含まれます
    • libフォルダーには、 libGPUImage.aというコンパイル済みのバイナリ バージョン ファイルが含まれています。
    • .h ファイルと .a ファイルを使用するように XCode を構成するだけです。**
  8. プロジェクト エクスプローラーでプロジェクトを選択 > [ターゲット] の下のプロジェクト名> [ビルド フェーズ] を選択 > [リンク バイナリとライブラリを展開]

  9. libGPUImage.aを Link Binary With Libraries セクションに追加します。libGPUImage.aを右クリックして Finderで開き、最後にドラッグ アンド ドロップします。

  10. その間、次の GPUImage の依存フレームワーク/ライブラリ CoreMedia、CoreVideo、OpenGLES、AVFoundation、QuartzCoreをライブラリとバイナリ をリンクするセクション に追加します。ここに画像の説明を入力

  11. 次に、 .hヘッダーを構成します。

  12. プロジェクト エクスプローラーでプロジェクトを選択し、[ターゲット] の下の [プロジェクト名] を選択し、[ビルド設定] を選択し、検索パスを入力して、検索パスセクションを表示します。

  13. 値フィールドをクリックして、ヘッダー検索パスを開きます。

  14. libフォルダーをそのポップアップにドラッグ アンド ドロップします。注: 絶対パスが表示されている場合は、look $(SRCROOT)/path/to/lib/に変更します。(xcode プロジェクトに関連するフレームワークが必要です。手順 6 を参照してください)。

  15. ライブラリ検索パスについても11 と 12 を繰り返します。

ここに画像の説明を入力 追加のヒント: .hファイルをLibrary Search PathsまたはHeaders Search Pathsに追加し、それらをRecursiveにすることができます。Release-iPhone を含む MySDK フレームワークのようなすべての依存関係を保持するDependenciesフォルダーと呼ばれるメインのルートフォルダーがあります。そして、依存関係(ルートフォルダー)に検索パスを1つだけ持って、それをrecursiveにしました。

于 2014-02-20T01:27:32.837 に答える
6

プロジェクト ページの Readme のすべての指示に従いましたか? インストール手順から:

また、フレームワーク ヘッダーを見つける必要があるため、プロジェクトのビルド設定内で、ヘッダー検索パスを、アプリケーションから GPUImage ソース ディレクトリ内の Framework/ サブディレクトリへの相対パスに設定します。このヘッダー検索パスを再帰的にします。

上記のエラーが表示された場合は、プロジェクトに対して GPUImage をインストールした正しいディレクトリにヘッダー検索パスを指定しなかったか、左側のチェックボックスをクリックして検索を行わなかったことを意味します。再帰的なパス。

この回答でこれを設定するために必要な場所のスクリーンショットをいくつか示します。これは、Core Plot フレームワークについて同様のことを説明しています。同じ原則が適用されますが、GPUImage フレームワークをインストールした場所を見つける必要があるだけです。

于 2012-05-01T22:14:21.863 に答える