Recibo un error después de colocar mi aplicación en AdMob. La aplicación funcionaba hasta hoy. 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)
¿Cómo puedo arreglar esto? Gracias.
Respuestas:
A veces, simplemente elimina la referencia de la biblioteca y agrega la referencia nuevamente.
Además de agregar el SDK de Google Mobile Ads y otras bibliotecas nuevamente desde cero, le recomendaría que revise las Rutas de búsqueda de la biblioteca . Hay casos en los que copia o duplica un objetivo, Xcode decide que necesita escapar de las comillas dobles "con un '\'. Asegúrese de eliminar todos los \ 's, debería verse así:
Pude duplicar el error haciendo un prefijo de mi ruta con múltiples '\'.
fuente
Tuve un problema similar de "biblioteca no encontrada". Sin embargo, fue porque accidentalmente estaba usando el
.xcodeproj
archivo en lugar del.xcworkspace
archivo.fuente
Seleccione su destino, vaya a
"Build Phases"
en"Link Binary With Libraries"
quitar".a"
el archivo de la biblioteca. Limpiar y construir.fuente
Si el error relacionado con Cocoapods es el siguiente:
Debe verificar Otras banderas de vinculador y eliminarlo desde allí.
fuente
Para mi caso Xcode 7 , también funcionó en Xcode 9.1
establecido
Build Active architecture Only
enYes
fuente
Esto sucede si está usando cocoapods, use el
.xcworkspace
archivo en lugar del.xcodeproj
archivo predeterminado .fuente
Si el error es como seguir
ld: biblioteca no encontrada para -lpods
Descubrí que de alguna manera se creó un archivo "libPods.a" que está en color rojo (como los archivos faltantes) en el grupo Marco 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
fuente
Ir a Fases de compilación -> Enlace binario con bibliotecas y eliminar biblioteca que muestra errores porque esa biblioteca no está disponible en la carpeta del proyecto
fuente
libPods-Foo BarTests.a
y otra con nombrelibPods-FooBarTests.a
.Esto también puede suceder si abre un archivo de proyecto en lugar de un espacio de trabajo. He perdido como un día yo mismo de esta manera.
fuente
Tarde para la respuesta, pero aquí está la lista de cosas que probé, por lo que estará en un lugar si alguien quiere intentar solucionar el problema.
fuente
En mi caso hubo un problema de nomenclatura. Se llamó a mi biblioteca
ios-admob-mm-adapter.a
, pero Xcode esperaba que el nombre comenzara con el prefijo lib . Acabo de renombrar mi lib alibios-admob-mm-adapter.a
y solucioné el problema.Utilizo Cocoapods, y vincula las bibliotecas con la opción Otros indicadores de vinculador en la configuración de compilación de mi objetivo. La bandera se ve como
-l"ios-admob-mm-adapter"
Espero que ayude a alguien más
fuente
Simplemente,
GoogleAdMobAds.a
falta en el objetivo del proyecto. Para mí fuelibAdIdAccessLibrary.a
Por favor verifique la captura de pantalla adjuntafuente
En cuanto a mí, este problema ocurre porque instalé Material Library para IOS. para resolver este problema
1: Vaya a Configuración de compilación de su aplicación de destino.
2: Buscar otras banderas de enlace
3: Abra los otros indicadores del vinculador y verifique la biblioteca que se menciona en el error.
4: eliminar esa bandera.
5: Limpiar y construir.
Espero que esto solucione tu problema.
fuente
En el caso de que
ld: library not found for -{LIBRARY_NAME}
sucedió porque los archivos de la biblioteca no existen.La ruta de los archivos de la biblioteca debe estar de acuerdo con la ruta real, por ejemplo, si su archivo (s) en la raíz del proyecto debe establecer la ruta como
$(PROJECT_DIR)
fuente
Sé que esto es un poco viejo, pero acabo de encontrar un problema similar y ejecutar 'pod update' me arregló esto. El error de mi biblioteca fue con AFNetworking ...
Solo tenga cuidado al actualizar el pod si no usa versiones explícitas en su archivo pod.
fuente
Este error es muy raro.
Tuve este error con -ldAfnetworking y solo copié mi proyecto en otra ruta y funciona.
fuente
He intentado cambiar el nombre de mi configuración de generación
Release
aProduction
, pero al parecer las vainas de cacao no le gusta. Lo renombré nuevamenteRelease
, y todo funciona bien.fuente
La respuesta de @Rurora me apuntó en la dirección correcta. Estaba incluyendo bibliotecas en mi ruta "watchkitapp Extension / lib". En este caso, la ruta de búsqueda de la biblioteca debía escaparse con un '\', pero el enlazador no parecía entender esto. Para solucionar / solucionar el problema, moví mi ruta de acceso a la biblioteca un nivel para que ya no estuviera en un directorio que contenía un espacio en el nombre.
fuente
Acabo de actualizar el archivo de pod 'actualización de pod' y comienza a funcionar para mí normalmente.
fuente
La ejecución de 'pod update' en mi proyecto solucionó mi problema con el error 'biblioteca no encontrada para -lSTPopup'.
Observando la respuesta de Trevor Panhorst:
"Solo tenga cuidado al actualizar el pod si no usa versiones explícitas en su archivo pod".
fuente
Solución fácil Así es como solucionaría el problema:
platforms/ios
pod install
Eso es. Esto debería instalar la biblioteca que falta.
fuente
Se fue...
fuente
Es un error de tiempo de compilación para un
Static Library
que es causado porStatic Linker
Puede obtener el error
Library not found for
cuando no ha incluido una ruta de biblioteca alLibrary Search Paths
ld
significaStatic Linker
que no puede encontrar una ubicación de la biblioteca. Como desarrollador, debe ayudar al vinculador y señalar elLibrary Search Paths
También puede obtener este error si abre por primera vez un nuevo proyecto (
.xcodeproj
) con soporte de Cocoapods, ejecutepod update
. Para solucionarlo, simplemente cierre este proyecto y abra creado un espacio de trabajo en su lugar (.xcworkspace
)fuente
Estaba recibiendo errores similares en la biblioteca no encontrada. Finalmente, así es como pude resolverlo
fuente