Error “biblioteca no encontrada para”

Tengo un error después de poner en mi aplicación un admob. ayer la aplicación funcionó bien, pero hoy ya no funcionaba … el error es el siguiente:

ld: library not found for -lGoogleAdMobAds clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Como arreglarlo ? Gracias !!

En ocasiones, solo elimina la referencia de la biblioteca y agrega la referencia nuevamente.

Además de agregar de nuevo el SDK de Google Mobile Ads y otras bibliotecas, le recomendaría que revise las Rutas de búsqueda de bibliotecas . Hay instancias en las que copia o duplica un objective, Xcode decide que necesita escapar de cualquier comilla doble “con un ‘\’. Asegúrese de eliminar todas las \ ‘s – debe verse así –

enter image description here

Pude duplicar el error, al hacer el prefijo de mi ruta con múltiples ‘\’.

Tuve un problema similar de “biblioteca no encontrada”. Sin embargo, fue porque accidentalmente estaba usando el archivo .xcodeproj lugar del archivo .xcworkspace .

Si hay un error relacionado con Cocoapods de la siguiente manera:

 library not found for -lPod-... 

Deberá verificar otras banderas de enlace y eliminarlas de allí.

Información adicional: si tiene un proyecto anterior que usa cocoapods. ¡Y recientemente necesitabas agregar el use_frameworks! a tu podfile los cocoapods ya no agregarán las bibliotecas a tus otros marcadores, ya que se heredarán. Por lo tanto, es posible que deba eliminar esos datos manualmente de los otros indicadores del vinculador que se agregaron antes de usar use_frameworks.

Para mi caso Xcode 7 , también funcionó en Xcode 9.1

 ld: library not found for -ldAfnetworking clang: error: linker command failed with exit code 1 (use -v to see invocation) 

establecer Build Active architecture Only to Yes

enter image description here

Seleccione su Target, vaya a "Build Phases" en "Link Binary With Libraries" elimine el archivo ".a" de esa biblioteca. Limpiar y construir

Si el error es como seguir

ld: biblioteca no encontrada para -lpods

Encontré que un archivo “libPods.a” que está en color rojo (como archivos perdidos) se creó de alguna manera en el grupo de Framework del proyecto. Simplemente eliminé ese archivo y todo salió bien.

EDITAR: Otra solución

Otra solución que ya he respondido en la pregunta similar está en este enlace

Esto también puede suceder si abre un archivo de proyecto en lugar de un área de trabajo. Perdí como un día yo mismo de esta manera.

goto Build Fases -> Link Binary With Libraries y elimine la biblioteca que muestra errores porque esa biblioteca no está disponible en la carpeta del proyecto

Tarde para la respuesta, pero aquí están la lista de cosas que probé. Así que estará en un lugar si alguien quiere tratar de solucionar el problema.

  1. Arquitectura válida = armv7 armv7s
  2. Construir architecture activa solamente = NO
  3. Objetivo -> Configuraciones de comstackción -> Otras marcas de enlazador = $ (heredado)
  4. Objetivo -> Configuraciones de comstackción -> Ruta de búsqueda de biblioteca = $ (heredada)
  5. Producto limpio
  6. Actualización de Pod en terminal

En mi caso hubo un problema de nombres. Mi biblioteca se llamaba ios-admob-mm-adapter.a , pero Xcode esperaba que el nombre comenzara con el prefijo lib . Acabo de renombrar mi lib a libios-admob-mm-adapter.a y solucioné el problema.

Yo uso Cocoapods, y enlaza las bibliotecas con la opción Otros marcadores del enlazador en la configuración de comstackción de mi objective. La bandera se ve como -l"ios-admob-mm-adapter"

Espero que ayude a alguien más

Sé que esto es un poco viejo, pero acabo de llegar a un problema similar y al ejecutar ‘pod update’ solucioné esto para mí. El error de mi biblioteca fue con AFNetworking …

Solo tenga cuidado al actualizar el pod si no usa versiones explícitas en su archivo de pod.

Este error es muy extraño.

Tuve este error con -ldAfnetworking y solo copio mi proyecto en otra ruta y funciona.

Traté de cambiar el nombre de la configuración de mi versión de Release a Production , pero aparentemente a las cápsulas de cocoa no les gusta. Cambié el nombre nuevamente a Release , y todo funciona perfectamente.

La respuesta de @raurora me indicó la dirección correcta. Estaba incluyendo bibliotecas en mi ruta “watchkitapp Extension / lib”. En este caso, la ruta de búsqueda de la biblioteca debe ser escapada con un ‘\’, pero el enlazador no parece entender esto. Para solucionar el problema, modifiqué mi ruta de lib en un nivel para que ya no estuviera en un directorio que contenía un espacio en el nombre.

 watchman watch-del-all; npm start -- --reset-cache 

parecía hacerlo por mí … me parece que hago esto a menudo cuando todo lo demás falla

Simplemente, GoogleAdMobAds.a falta en el objective del proyecto. Para mí fue libAdIdAccessLibrary.a Por favor, compruebe la captura de pantalla adjunta

enter image description here

Acabo de actualizar el archivo pod “actualización de pod” y comienza a funcionar para mí normalmente.

Al ejecutar ‘actualización de pod’ en mi proyecto se solucionó mi problema con el error ‘biblioteca no encontrada para -lSTPopup’.

Remarcar la respuesta de Trevor Panhorst:

“Solo tenga cuidado al actualizar el pod si no usa versiones explícitas en su archivo de pod”.