¿Qué debo hacer si no encuentro el encabezado GPUImage.h para el marco GPUImage?

He creado una aplicación de muestra para realizar una distorsión en forma de golpes , utilizando el marco GPUImage . Agregué este marco a mi aplicación, pero estoy viendo el siguiente error

Problema Lexical o preprocesador 'GPUImage.h' file no encontrado.

-ObjC bandera -ObjC a los otros indicadores del linker, pero todavía estoy viendo este error. ¿Cómo puedo resolver este problema y comstackr mi aplicación?

Agregar un marco GPUImage al proyecto XCode podría ser complicado. Así que he agregado detalladas instrucciones paso a paso con imágenes sobre cómo hacerlo.

Método de compilation estática (solución detallada para no desorderar)

Este es el método de compilation estática. En esto, básicamente, comstackremos el marco usando el file ./build.sh. Y simplemente agréguelo a nuestro proyecto XCode, luego configure XCode para usarlo correctamente.

  1. Descargue GPUImage de Github y extráigalo (o simplemente clónelo).
  2. Vaya a la carpeta GPUImage en la terminal
  3. Ejecute ./build.sh

    Nota: Esto comstackrá y creará un binary listo para usar para todos los sdks en su Mac.

  4. build.sh crea una carpeta llamada build y genera binarys comstackdos y los vuelca a carpetas como: Release-iPhone , Release-iPhoneOS , Release-iphonesimulator, etc. carpetas. introduzca la descripción de la imagen aquí

  5. Para iPhone use Release-iphone (Esto también funciona para el simulador).
  6. Copiar (no drag and drop) Libere-iphone en el directory raíz del proyecto XCode para que tengamos una copy local del marco.
  7. Ahora iPhone drag and drop Release-iphone en su proyecto XCode. Asegúrese de marcar la opción "Copiar a …".

    Nota:

    • Esta carpeta Release-iphone contiene dos subcarpetas: include y lib
    • include carpeta contiene todos los files .h del encabezado
    • La carpeta lib contiene el file comstackdo de versiones binarias llamado libGPUImage.a
    • Ahora necesitamos simplemente configurar XCode para usar files .h y .a. **
  8. Seleccione su proyecto en el explorador de proyectos> Nombre del proyecto en Destinos > select Fases de compilation> Expandir enlace binary con bibliotecas

  9. Agregue la libGPUImage.a a la sección Vincular binary con bibliotecas. Es posible que desee hacer clic con el button derecho en libGPUImage.a , abrir en Finder y finalmente drag and drop.

  10. Si bien estamos en ello, también agregue los siguientes frameworks / bibliotecas dependientes de GPUImage CoreMedia, CoreVideo, OpenGLES, AVFoundation, QuartzCore a la sección Link Binary With Libraries introduzca la descripción de la imagen aquí

  11. Ahora, permite configurar .h encabezados.

  12. Seleccione su proyecto en el explorador de proyectos> Nombre del proyecto en Destinos > select Configuración de construcción> y escriba las routes de búsqueda para ver la sección de routes de búsqueda .

  13. Abra las routes de búsqueda de encabezados haciendo clic en el campo de valor.

  14. Arrastre y suelte la carpeta lib en esa window emergente. Nota: Si muestra la ruta absoluta, cámbiela a $ (SRCROOT) / ruta / a / lib / . (Debe tener el marco relativo a su proyecto xcode, vea el paso 6).

  15. Repita 11 y 12 para las routes de búsqueda de biblioteca también.

introduzca la descripción de la imagen aquí Consejos adicionales: puede agregar files .h a las routes de búsqueda de bibliotecas o a las routes de búsqueda de encabezados , puede hacer que sean recursivas . Tengo una carpeta raíz principal llamada carpeta Dependencias donde conservo todas las dependencies como MySDK-framework, incluyendo Release-iPhone. Y solo tengo una ruta de búsqueda en las dependencies (carpeta raíz) y la hice recursiva .

¿Siguió todas las instrucciones del Léame en la página del proyecto ? De las instrucciones de installation:

También necesitará encontrar los encabezados del marco, de modo que dentro de la configuration de compilation de su proyecto establezca las Rutas de búsqueda del encabezado en la ruta relativa de su aplicación al marco / subdirectory dentro del directory fuente de GPUImage. Haga que esta ruta de búsqueda de encabezado sea recursiva.

Si ve el error anterior, significa que no apuntó las Rutas de búsqueda de encabezado en el directory correcto donde instaló GPUImage en relación con su proyecto y / o no hizo clic en la checkbox a la izquierda para realizar esa búsqueda paths recursivos

Le muestro algunas capturas de pantalla de donde debe ir para establecer esto en esta respuesta , lo que explica algo similar para el marco del diagtwig principal. Se aplican los mismos principios, solo necesita encontrar dónde instaló el marco GPUImage en.

Agrego la ruta relativa a "Encabezados de búsqueda de encabezado", pero todavía hay un error que "no se encuentra".

Luego, agrego la ruta a "Rutas de búsqueda del encabezado de usuario", y funciona.

Te puede ayudar

introduzca la descripción de la imagen aquí

¡Finalmente, me di count de que la PALABRA CLAVE es relative ! Puse files fuente GPUImage en el directory raíz de mi proyecto: introduzca la descripción de la imagen aquí

antes de resolver el problema, agrego Encabezados de búsqueda de encabezado es:

$(PROJECT_DIR)/GPUImage/framework

$(PROJECT_DIR)/GPUImage/framework/iOS

y hacerlos Recursivos, pero el error sigue estando allí, así que cambié los Caminos a:

GPUImage/framework y GPUImage/framework recursivo, luego funciona.

Espero eso ayude.