Вопрос по objective-c, ios – Что мне делать, если я не могу найти заголовок GPUImage.h для инфраструктуры GPUImage?

14

Я создал образец приложения, чтобы выполнить ударное искажение, используяФреймворк для GPUImage, Я добавил эту структуру в свое приложение, но вижу следующую ошибку

Lexical or preprocessor issue 'GPUImage.h' file not found.

Я добавил-ObjC флаг других флагов компоновщика, но я все еще вижу эту ошибку. Как я могу решить эту проблему и получить приложение для компиляции?

Ваш Ответ

4   ответа
29

Добавление инфраструктуры GPUImage в проект XCode может быть сложным. Поэтому я добавил подробные пошаговые инструкции с изображениями о том, как это сделать.

Static Compilation Method (detailed solution so we don't mess up)

Это метод статической компиляции. В основном мы скомпилируем фреймворк, используя файл ./build.sh. И просто добавьте его в наш проект XCode, затем настройте XCode для правильного использования.

  1. Download GPUImage from Github and extract it (or just clone it).
  2. Go to the GPUImagefolder in terminal
  3. Run ./build.sh

    Note: This will compile and create ready-to-use binary for all the sdks on your mac.

  4. build.sh creates a folder called build and generates compiled binaries and dumps them to folders like: Release-iPhone, Release-iPhoneOS, Release-iphonesimulator etc folders. enter image description here

  5. For iPhone use Release-iphone (This also works for simulator).
  6. Copy (not drag-drop) Release-iphone to your XCode project's root directory so that we have a local copy of framework.
  7. Now iPhone drag-and-drop Release-iphone onto your XCode project. Make sure to check "Copy to .." option.

    Note:

    • This Release-iphone folder contains two sub-folders: include and lib
    • include folder contains all the header .h files
    • lib folder contains compiled binary version file called libGPUImage.a
    • We now need to simply configure XCode to use .h and .a files.**
  8. Select your project in the project explorer > Project name under Targets > select Build Phases > Expand Link Binary With Libraries

  9. Add the libGPUImage.a to Link Binary With Libraries section. You may want to Right-click on libGPUImage.a then Open in Finder and finally drag-drop it.

  10. While we are at it, also add the following GPUImage's dependent frameworks/ libraries CoreMedia, CoreVideo, OpenGLES, AVFoundation, QuartzCore to Link Binary With Libraries section enter image description here

  11. Now, lets configure .h headers.

  12. Select your project in the project explorer > Project name under Targets > select Build Settings > and type search paths to see search paths section.

  13. Open Headers Search Paths by clicking on the value field.

  14. Drag-and-drop the lib folder to that popup. Note: If it shows absolute path, change it to looks $(SRCROOT)/path/to/lib/. (You should have the framework relative to your xcode project see step 6).

  15. Repeat 11 & 12 for Library Search Paths as well.

enter image description here Дополнительные советы: Вы можете добавить.h файлы вLibrary Search Paths или жеHeaders Search PathsВы можете сделать ихRecursive, У меня есть основная корневая папкаDependencies папка, в которой хранятся все зависимости, такие как MySDK-framework, включая Release-iPhone. И у меня просто есть один путь поиска в Зависимости (корневая папка) и сделал этоrecursive.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
5

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Может помочь вам.

enter image description here

Error: User Rate Limit Exceeded
2

Error: User Rate Limit ExceededrelativeError: User Rate Limit Exceededenter image description here

Error: User Rate Limit Exceeded

$(PROJECT_DIR)/GPUImage/framework

$(PROJECT_DIR)/GPUImage/framework/iOS

Error: User Rate Limit Exceeded

GPUImage/framework и сделать его рекурсивным, тогда это работает.

Error: User Rate Limit Exceeded

6

Error: User Rate Limit ExceededError: User Rate Limit Exceeded? Из инструкции по установке:

You'll also need to find the framework headers, so within your project's build settings set the Header Search Paths to the relative path from your application to the framework/ subdirectory within the GPUImage source directory. Make this header search path recursive.

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceededэтот ответ, что объясняет нечто подобное для платформы Core Plot. Применяются те же принципы, только вам нужно найти, где вы установили платформу GPUImage.

Похожие вопросы