Estou recebendo um erro depois de colocar meu aplicativo em uma AdMob. O aplicativo estava funcionando até hoje. O erro é o seguinte:
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Como posso consertar isso? Obrigado.
Respostas:
Às vezes, você apenas remove a referência da biblioteca e adiciona a referência novamente.
Além de adicionar o SDK dos anúncios para celular do Google e outras bibliotecas novamente, recomendo que você verifique os caminhos de pesquisa da biblioteca . Há casos em que você copia ou duplica um destino, o Xcode decide que ele precisa escapar de aspas duplas "com um '\'. Certifique-se de remover todos os \ 's - deve ficar assim -
Consegui duplicar o erro, prefixando meu caminho com vários '\'.
fonte
Eu tive um problema semelhante de "biblioteca não encontrada". No entanto, foi porque acidentalmente eu estava usando o
.xcodeproj
arquivo em vez do.xcworkspace
arquivo.fonte
Escolha o seu destino, vá para
"Build Phases"
a"Link Binary With Libraries"
remoção".a"
de arquivos dessa biblioteca. Limpe e construa.fonte
Se erro relacionado ao Cocoapods da seguinte maneira:
Você precisa verificar outros sinalizadores de vinculador e removê-lo de lá.
fonte
Para o meu caso, o Xcode 7 , também funcionou no Xcode 9.1
definido
Build Active architecture Only
comoYes
fonte
Isso acontece se você estiver usando cocoapods, use o
.xcworkspace
arquivo em vez do.xcodeproj
arquivo padrão .fonte
Se o erro é como seguir
ld: biblioteca não encontrada para -lpods
Eu descobri que um arquivo "libPods.a" que está na cor vermelha (como arquivos ausentes) foi criado de alguma forma no grupo Framework do projeto. Acabei de remover esse arquivo e tudo ficou bem.
EDIT: Outra solução
Outra solução que eu já respondi na pergunta semelhante está neste link
fonte
vá para Criar fases -> Vincular binário com bibliotecas e remover a biblioteca que mostra erros porque essa biblioteca não está disponível na pasta do projeto
fonte
libPods-Foo BarTests.a
e outra nomeadalibPods-FooBarTests.a
.Isso também pode acontecer se você abrir o arquivo do projeto em vez de um espaço de trabalho. Eu desperdicei como um dia desse jeito.
fonte
Atrasado para a resposta, mas aqui está a lista de coisas que tentei. Portanto, ele estará em um só lugar se alguém quiser tentar corrigir o problema.
fonte
No meu caso, houve um problema de nomeação. Minha biblioteca foi chamada
ios-admob-mm-adapter.a
, mas o Xcode esperava, que o nome iniciasse com o prefixo lib . Acabei de renomear minha lib paralibios-admob-mm-adapter.a
e corrigi o problema.Eu uso Cocoapods e vincula bibliotecas a outros sinalizadores de vinculador opção nas configurações de compilação do meu destino. A bandeira parece
-l"ios-admob-mm-adapter"
Espero que isso ajude mais alguém
fonte
Simplesmente,
GoogleAdMobAds.a
está faltando no destino do projeto. Para mim foilibAdIdAccessLibrary.a
Verifique a captura de tela em anexofonte
Quanto a mim, esse problema ocorre porque eu instalei a Biblioteca de materiais para IOS. para resolver esse problema
1: Vá para Criar configurações do seu aplicativo de destino.
2: Procure por outros sinalizadores de vinculador
3: Abra os outros sinalizadores do vinculador e verifique a biblioteca mencionada no erro.
4: remova esse sinalizador.
5: Limpe e construa.
Espero que isso resolva seu problema.
fonte
No caso de ter
ld: library not found for -{LIBRARY_NAME}
acontecido porque o (s) arquivo (s) da biblioteca não existe.O caminho dos arquivos da biblioteca deve estar de acordo com o caminho real, por exemplo, se os arquivos na raiz do projeto, você deve definir o caminho como
$(PROJECT_DIR)
fonte
Sei que isso é um pouco antigo, mas acabei de encontrar um problema semelhante e a execução de 'pod update' corrigiu isso para mim. Meu erro de biblioteca foi com o AFNetworking ...
Apenas tome cuidado ao atualizar o pod se você não usar versões explícitas no seu arquivo pod.
fonte
Este erro é muito estranho.
Eu tive esse erro com -ldAfnetworking e só copio meu projeto em outro caminho e funciona.
fonte
Tentei renomear minha configuração de compilação
Release
paraProduction
, mas aparentemente os vagens de cacau não gostam disso. Renomeei o nome novamente paraRelease
, e tudo se compõe perfeitamente.fonte
A resposta de @ raurora me apontou na direção certa. Eu estava incluindo bibliotecas no meu caminho "watchkitapp Extension / lib". Nesse caso, o caminho de pesquisa da biblioteca precisava ser escapado com um '\', mas o vinculador parecia não entender isso. Para corrigir / contornar o problema, movi meu caminho da lib para um nível acima, para que ele não estivesse mais em um diretório que continha um espaço no nome.
fonte
Acabei de atualizar o arquivo pod 'pod update' e ele começou a funcionar normalmente para mim.
fonte
A execução de 'atualização do pod' no meu projeto corrigiu meu problema com o erro 'biblioteca não encontrada para -lSTPopup'.
Observando a resposta de Trevor Panhorst:
"Apenas tome cuidado ao atualizar o pod se você não usar versões explícitas no seu arquivo pod."
fonte
Solução fácil. Aqui está como eu solucionaria o problema:
platforms/ios
pod install
É isso aí. Isso deve instalar a biblioteca ausente.
fonte
Se afastou...
fonte
É um erro de tempo de compilação para um
Static Library
causado porStatic Linker
Você pode obter o erro
Library not found for
quando não tiver incluído um caminho de biblioteca para o diretórioLibrary Search Paths
ld
significaStatic Linker
que não é possível encontrar um local da biblioteca. Como desenvolvedor, você deve ajudar o vinculador e apontar oLibrary Search Paths
Além disso, você pode obter esse erro se abrir pela primeira vez um novo projeto (
.xcodeproj
) com suporte do Cocoapods, executepod update
. Para corrigi-lo, feche este projeto e abra um espaço de trabalho criado (.xcworkspace
)fonte
Eu estava recebendo erros semelhantes na biblioteca não encontrada. Por fim, foi assim que consegui resolvê-lo
fonte