'ld: warning: diretório não encontrado para a opção'


524

Ao criar meus aplicativos Xcode 4, recebo este aviso:

ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../../../Downloads/Google Analytics SDK/Library'
ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../Google Analytics SDK/Library'

Mas não tenho o Google Analytics no meu aplicativo. Excluí tudo. Como posso remover o erro? E arquivar um aplicativo me dá o erro:

clang: error: no such file or directory: 'armv6'
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

Eu tentei muitas coisas, mas ainda estou recebendo esse erro ao tentar criar um arquivo .IPA


10
Note-se que há um aviso muito semelhante, mas com -Fem vez de -L: directory not found for option '-F/.... Veja a resposta do @ macayer abaixo para saber a diferença.
Pkamb

1
Nota: Verifique se os diretórios com espaços estão entre aspas. por exemplo, $(PROJECT_DIR)/my folderdeve ser` "$ (PROJECT_DIR) / minha pasta"
Jacksonkr

Encontrei esse problema quando minha turma não tinha a associação de destino adequada especificada .
Tom Howard

1
@ Jackson Isso corrigiu isso para mim. Eu recebi o aviso -F e o corrigi citando como você instruiu nos 'Caminhos de pesquisa da estrutura' em Configurações de compilação. Obrigado
Mark

O backup regular é uma prática recomendada.
Gajendra K Chauhan

Respostas:


877

Você precisa fazer isso:

  1. Clique no seu projeto (metas)
  2. Clique em Configurações de compilação
    • se o seu erro incluir o -Lsinalizador, exclua os valores nos Caminhos de pesquisa da biblioteca
    • se o seu erro incluir o -Fsinalizador, exclua os valores nos Caminhos de pesquisa do Framework

E com relação ao segundo erro, desculpe, não posso ajudá-lo com esse. Espero que alguém possa ajudá-lo.


5
Isto quebrou meu projeto, mas eu só comentou as minhas #imports Google Analytics e excluídos do SDK, saia do Xcode, re-adicionado e uncommented meus #imports e funcionou novamente :)
emotality

1
Existem etapas que você omitiu? Eu fiz isso e agora o Xcode não consegue encontrar muitos outros arquivos que estavam funcionando segundos antes. Socorro!
usuário

9
Cuidado para excluir se você realmente precisar desse caminho da biblioteca. Verifique se o caminho especificado no erro existe. O local da biblioteca no disco pode ter sido movido.
AWrightIV

3
Depois de exclusão Biblioteca Pesquisa Caminhos eu tenho o erro: ld: library not found for -lMoboSDK clang: error: linker command failed with exit code 1 (use -v to see invocation)(lMoboSDK é a minha biblioteca estática)
lee

2
Eu tive que excluir os caminhos em 'Framework Search Paths' no meu 'AppTests' TARGET para limpar o erro.
AT3D

754

Existem dois erros que as pessoas parecem confusas.

Se for um erro "diretório não encontrado para a opção ' -L / ...", isso significa que é um erro de biblioteca e você deve tentar:

  • Clique no seu projeto (metas)
  • Clique em Configurações de compilação
  • Em Caminhos de pesquisa da biblioteca , exclua os caminhos

Se for um "diretório não encontrado para a opção ' -F / ...", significa que é um Erro do Framework e você deve tentar:

  • Clique no seu projeto (metas)
  • Clique em Configurações de compilação
  • Em Caminhos de pesquisa da estrutura , exclua os caminhos

Isso pode acontecer quando você move o arquivo referenciado.


3
Por que todas as respostas não podem ser tão concisas e úteis quanto as suas? Obrigado. Eu tenho uma pergunta paralela: onde se aprende sobre os erros enigmáticos -L / -F? Eu sou novo em todo o jogo de vinculação / compilação / construção, e a documentação interna do Xcode não é exatamente algo para se escrever. Estou assumindo que a maioria dessas coisas pode ser acessada via linha de comando. Estou certo nessa suposição? Tem sido difícil para mim saber por onde começar com todas essas coisas. Estou acostumado com o desenvolvimento da Web, então, como você poderia supor, encontrar informações nesse domínio é um pouco mais fácil.
Ben Stock

ao excluir os Caminhos de pesquisa, ele novamente mostra o FacebookSDK não encontrado. É um erro -F. Estou usando o Xcode 6.1
Rinku

Trabalhou para mim. Eu tive que excluir os caminhos de pesquisa da estrutura nos destinos do projeto e do módulo de teste (na atualização do projeto do iOS8.3 para o iOS9).
ObjectiveTC

1
Vamos lá Apple, o que aconteceu com "simplesmente funciona" ... isso deve se aplicar ao dev também. Pelo menos, ofereça-nos sugestões sobre como resolver esse tipo de problema em vez dessas mensagens enigmáticas. Meio que lembra a Microsoft, ew.
John Contarino

2
Muito obrigado pelas diretrizes "-L é para caminhos de pesquisa de bibliotecas" e "-F é caminhos de pesquisa de estrutura" , funcionou perfeitamente para mim.
swiftBoy

79

Meu problema foi que eu abri o .xcodeproj original em vez do .xcworkspace que foi gerado pelo CocoaPods.


Damn isso realmente me salvou após 3 horas de bater a cabeça no teclado
Gregory Saldanha

60

Eu tive que remover as referências em:

  • Alvo
  • Configurações de compilação
  • Caminhos de pesquisa da estrutura

insira a descrição da imagem aqui

Em seguida, a compilação foi interrompida (esperada). Então eu removi o Framework (FB SDK), o adicionei novamente e pronto. Não há mais erros ou avisos. :)


19

Eu uso vagens de cacau para mim, eu saí do Xcode e corri

pod install

novamente e reabriu o projeto. Isso consertou tudo!


1
Não sabe por que você está sendo votado com baixa votação quando sua sugestão pode realmente ser uma solução para um problema semelhante! Especificamente, é uma solução se você estiver recebendo mensagens de erro semelhantes após adicionar nova configuração de compilação ao seu projeto. Como adicionar uma nova configuração de compilação implica duplicar automaticamente uma configuração existente, você precisa executar pod installpara ajustar o valor da coluna "Baseado no arquivo de configuração".
Cellane

1
Além disso, as vagens de cacau geram um espaço de trabalho. certifique-se de abrir isso, não o arquivo do projeto. pod install + abrir o arquivo da área de trabalho corrigiu meu problema.
Michael Krebs

Em iônica isso funciona para mim quando eu corri o pod instalar dentro das plataformas / ios pasta
Bas van Dijk

18

Para mim, o problema era um caractere "\" de escape ausente.

Meus caminhos de pesquisa foram divididos em várias linhas nos Caminhos de pesquisa da biblioteca. Convenientemente, eles estavam quebrando em espaços no meu caminho. Adicionar a fuga "\" corrigiu para mim.

$(PROJECT_DIR)/My\ Project\ Name/My\ Directory

Esta é a resposta perfeita! Testado em abril de 2014
Van Du Tran

1
É patético que isso ainda esteja quebrado no Xcode 6, em fevereiro de 2015. Os espaços nos caminhos não devem precisar ser escapados manualmente.
StilesCrisis

As respostas aceitas e votadas mais acima não funcionaram para mim, mas funcionaram. Minha dica de que foi esse problema é que o Xcode estava lançando erros de 2L, com cada erro sendo um fragmento do caminho completo e estava quebrando no espaço. Concordamos que em 2015 não deveríamos ter que nos preocupar em escapar de espaços, que devem ser tratados nos bastidores!
John Contarino

Sim, esse é um problema de longa data no Xcode que ocorre quando seu caminho de pesquisa é adicionado automaticamente pelo sistema (ou seja, devido ao arrastar uma biblioteca para 'binários incorporados' - por algum motivo, ele não escapa dos espaços automaticamente e posteriormente interpreta eles como caminhos de arquivo separados.
Ash

13

Encontrei a referência que precisei remover em:

  • Alvo
  • Configurações de compilação
  • Caminhos de pesquisa de cabeçalho

33
Usando o Google para encontrar uma solução para 'ld: Atenção: Diretório não encontrado para a opção', encontrar a minha própria resposta como solução
Jasper

13

No meu caso, o problema eram os caminhos da Pesquisa de estrutura que tinham links antigos incompletos, inoperantes, ou várias estruturas do mesmo tipo. Remova-os e seu projeto será compilado sem nenhum problema.

certifique-se de fazer Build -> clean

insira a descrição da imagem aqui


10

Encontrei o mesmo problema (o primeiro) após uma falha no Xcode e nenhuma das soluções propostas funcionou. Para suprimir o aviso que fiz:

• gerenciar esquemas ...

• excluiu o esquema atual

• Autocriar esquemas agora


Deveríamos ter o autor desta pergunta original postando uma nota para executar todas essas soluções. Uma lista. Experimente a primeira, a segunda solução seguinte, a próxima solução ... porque isso foi feito para a migração de um projeto mais antigo e outras soluções são soluções razoáveis. Se eu não tentasse tudo, não teria encontrado este ... segui em frente e nadei em confusão. Thx Francesco!
Matthew Ferguson

8

Isto é o que funcionou para mim:

  1. Clique em Projeto
  2. Clique em Configurações de compilação
  3. Procure por "Caminhos de pesquisa da estrutura"
  4. Limpe o caminho e digite "$ (herdado)"

6

Também fiquei sabendo do que parece ser o mesmo problema (desta vez no XCode 5.0.2). No meu caso, o que aconteceu foi que o XCode decidiu escapar das aspas já nas "Configurações da compilação". Então, por exemplo:

"$(SRCROOT)/../GoogleAdMobAdsSdkiOS-6.4.1"

passou a ser

\"$(SRCROOT)/../GoogleAdMobAdsSdkiOS-6.4.1\"

o que causou a falha da compilação ...

Depois que removi as fugas das aspas, tudo funcionou bem novamente. Além disso, provavelmente seria melhor remover as aspas completamente, a menos que você precise delas.


1
ENORME +1 para isso. Essas fugas no erro "foram a causa do 'diretório não encontrado' para ambos -L e -F opções.
Will

1
dica muito útil ... no meu projeto xcode 5.0.2 escapou de aspas no começo, meio e fim dos caminhos .... também duplicou caminhos para alguns frameworks de uma maneira estranha ... removeu escapes, deixei apenas "reais caminhos de frameworks "para aqueles que o projeto está usando e se livrou de avisos ... também foi necessário remover / adicionar novamente frameworks depois de corrigir os caminhos
Marcos Reboucas

6

Se isso acontecer após você adicionar um Podfile ao seu projeto e executar a instalação do pod, vá para a pasta do projeto e verá um novo arquivo que foi criado "{ProjectName} .xcworkspace" - abra esse arquivo no xcode

Os pods que foram instalados serão corretamente vinculados ao seu projeto neste arquivo


Pode ser que você tenha aberto o arquivo do projeto em vez da área de trabalho.
21318 Jason

3

Siga esta solução passo a passo:

  1. Clique no seu projeto (metas);
  2. Clique em Configurações de compilação;
  3. Em Caminhos de Pesquisa da Biblioteca, exclua os caminhos;
  4. Adicione ./**caminhos de pesquisa na biblioteca.

3

Resposta complementar

Todas as respostas indicadas para excluir os caminhos de pesquisa do Framework ou da Biblioteca do destino. Eu tive dois problemas:

  • Primeiro, eu estava olhando para o meu objetivo principal do projeto e não para o objetivo do Teste de Unidade.
  • Segundo, não consegui descobrir como excluir o caminho de pesquisa da estrutura. Aconteceu que ele estava apenas clicando nele para entrar no modo de edição e excluindo a string.

Quero tentar isso, mas estou preocupado que isso interrompa o aplicativo. Tem certeza de que tudo funcionou depois que você fez isso?
Supertecnoboff 26/16

@Supertecnoboff Se você está preocupado que isso não funcione, salve a string antes de excluí-la. Você sempre pode colá-lo novamente. Meu aplicativo já estava quebrado, então eu só precisava continuar tentando as coisas até que algo desse certo. Minha resposta acima é o que funcionou para mim.
Suragch

1

Para mim, o problema parecia não ter incluído as estruturas apropriadas (ao copiar addons de outro projeto, também não copiei os arquivos das estruturas)


1

A chave para esse tipo de erro é entrar nas configurações de compilação e examinar cada uma das seções dos caminhos de pesquisa, como Caminhos de pesquisa da biblioteca, Caminhos de pesquisa do Framework e possivelmente até Caminhos de pesquisa de cabeçalho e limpar qualquer um dos caminhos que não se aplicam mais ao seu O aplicativo está tendo dificuldades para encontrar. Remova-os e continue com o senhor


1

vá verificar qual estrutura está faltando e vá para

=> Criar fases => Vincular binário com bibliotecas

remova a biblioteca e adicione novamente


1

Eu tive um problema semelhante que desapareceu quando criei um novo esquema e o usei para reconstruir ???


1

Para mim eu também tenho testes habilitados. O caminho de pesquisa para testes também foi preenchido incorretamente.

Limpe o caminho de pesquisa do Framework para o código regular e o código de teste!


1

Por causa dos diretórios personalizados inseridos nos caminhos de pesquisa (estruturas e biblioteca), o projeto substitui os diretórios do pod. então não pode encontrá-lo.

Para resolver esse problema, exclua todos os diretórios personalizados de

Caminhos de Pesquisa -> Caminhos da Biblioteca e Caminhos da Estrutura,

veja apenas $ {herdado}.

Eu espero que isso ajude. Funcionou para mim.


1

insira a descrição da imagem aqui

Adicione $ (herdado) -Objc -lcrypto - lssl em Projeto -> Configuração da compilação -> Caminho da pesquisa -> Caminho da pesquisa da biblioteca


A solução acima está funcionando bem para mim. Se não estiver funcionando, compartilhe a captura de tela.
Bandish Kumar

1

Se isso acontecer após a instalação de um pod com algumas dependências, o problema pode ser que você esteja usando a versão antiga do aplicativo (.xcworkspace) no Xcode.

Após a instalação de um pod, esta é a saída que você pode ver.

A saída de uma instalação de pod.

Saída de uma instalação de pod

Faça exatamente isso, feche a janela atual do Xcode e abra o novo .xcworkspace.

Abrindo o novo xcworkspace]

Abrindo o novo xcworkspace


0

você deve verificar a opção para isso:

Configurações de compilação-> Caminhos de pesquisa da estrutura-> {input Your Project Path}


0

Eu examinei todos os [Caminhos de pesquisa da biblioteca - Caminhos de pesquisa da estrutura - Caminhos de pesquisa de cabeçalho]. mas não há caminhos a serem removidos, pude fazer com que esse alerta desaparecesse, entrando no pacote Xcode e criando um diretório vazio no local do caminho do qual o alerta estava reclamando.


0

Verifique se apenas 1 "libFlurry.a" selecionado no destino

trabalhou para mim.

insira a descrição da imagem aqui


0

Não esqueça de criar a mesma configuração para o projeto Pod no seu espaço de trabalho, se você mudar para a nova configuração do MainApps.

Por exemplo,

No meu caso, para resolver esse problema, tive que criar a configuração ReleaseOfficial e também para projetos de Pod quando criei a configuração ReleaseOfficial para o MainApp.


0

Se você instalou algum novo pod e recebeu esse erro, basta sair do xcode> abrir novamente> criar o projeto


0

Se a solução típica não resolver o problema, o que foi corrigido para mim foi garantir que todas as versões do iOS no projeto xcode (por exemplo, IPHONEOS_DEPLOYMENT_TARGET) / destinos de implantação, arquivos de pods (se aplicável) etc. sejam configurados com o mesmo número de versão.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.