Me acaba de compilar un proyecto y Xcode devuelve estos dos errores que no parecen ser de mi en el código de falla. ¿Cómo puedo solucionarlo?

Undefined symbols for architecture i386:
  "_vImageBoxConvolve_ARGB8888", referenced from:
      -[UIImage(Blur) boxblurImageWithBlur:] in UIImage+Blur.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
InformationsquelleAutor kuranes | 2013-07-01

3 Comentarios

  1. 40

    La enseñanza de un hombre (o mujer) de cómo los peces:

    Generalmente Mach-O Linker Error significa que no se ha incluido un archivo de encabezado de una función que está utilizando en su código.

    Forma más fácil es copiar esa función o método llame y pegar en Xcode búsqueda rápida usando shift+comando+O. Esto buscará en todos los ámbitos (y los archivos de encabezado), buscar que la función o la llamada al método y mostrar su ubicación (el encabezado en este caso):

    En este caso, esta llamada pertenece a Acelerar el marco en la parte superior de su archivo, escriba:

    #import <Accelerate/Accelerate.h>

    Al hacer una búsqueda rápida, usted podría tener que deshacerse de subrayado. En otras palabras, la búsqueda de vImageBoxConvolve_ARGB8888

    Espero que esto ayude

    • Esto no es exacto. Enlazador de los errores de esta naturaleza son con más frecuencia debido a un fallo de enlace con el framework o librería que proporciona un símbolo de que está utilizando. Si usted no #include o #import el encabezado necesario es mucho más probable conseguir una advertencia a lo largo de las líneas de warning: implicit declaration of function 'vImageBoxConvolve_ARGB8888' is invalid in C99. Añadir la falta #include o #import dirección de la advertencia del compilador, pero no hace nada para abordar el error del vinculador.
    • Esta es una buena manera de saber que framework que te estás perdiendo, aunque
    • No puedo encontrar a los desaparecidos de la biblioteca, puede usted por favor decirme cómo saber en qué biblioteca está perdido.
    • Eso fue increíble, hombre!! Gracias.
  2. 11

    Google es tu amigo: alguien fijo, esto mediante la adición de Acelerar el marco de su proyecto (y esto se ve como un marco error).

    https://github.com/rnystrom/RNBlurModalView/issues/5

    Asegúrese de que usted también tiene la QuartzCore marco incluido, así, como que también es requerido por la biblioteca.

    • No es necesario vincular contra QuartzCore el uso de Acelerar el marco.
    • Yo no he dicho que era. La biblioteca está usando – RNBlurModalView – requiere tanto de QuartzCore y Acelerar a la función. Las posibilidades son buenas si uno fue dejado fuera, el otro era demasiado, así que lo he añadido como una nota en mi respuesta.
    • +1: esto funciona a la perfección para mí
  3. 1

    Aparentemente vImageBoxConvolve_ARGB8888() no está definido. A ver si el de Acelerar el marco está correctamente incluidos en el proyecto.

Dejar respuesta

Please enter your comment!
Please enter your name here