Estou recebendo os seguintes erros.
libxml / tree.h nenhum arquivo ou diretório
Já acrescentei libxml2.dylib
ao meu projeto, porém estou tendo esse tipo de problema. Por favor me ajude.
objective-c
iphone
xcode
libxml2
Sagar R. Kothari
fonte
fonte
Respostas:
Siga as instruções aqui , em "Configurando seu arquivo de projeto."
Veja também a resposta do OP .
fonte
/usr/include
. Não tentei instalar o libxml2, então não posso confirmar o comportamento padrão. Mas sim, é muito melhor vinculá-lo dessa forma.Adicionando libxml2 no Xcode 4.3 / 5/6
Adicionar libxml2 é uma grande dor na bunda enjoativa. Se você vai fazer isso, faça-o antes de ir muito longe na construção do seu projeto.
Você precisa adicioná-lo de duas maneiras :
1. Configurações de destino
Clique no seu alvo (não no seu projeto) e selecione
Build Phases
.Clique no triângulo de revelação com o título
Link Binary With Libraries
. Clique em+
para adicionar uma biblioteca.Vá até o final da lista e selecione
libxml2.dylib
. Isso adiciona a biblioteca libxml2 ao seu projeto.2. Configurações do projeto
Agora você precisa dizer ao seu projeto onde procurá-lo mais três vezes.
Selecione o
Build Settings tab
.Role para baixo até a
Linking
seção. Nas colunas de seus projetos, clique duas vezes naOther Linker Flags
linha. Clique em+
e adicione-lxml2
à lista.Ainda mais.
Na mesma guia, role para baixo até a
Search Paths
seção.Em sua coluna de projetos na
Framework Search Paths
linha adicionar/usr/lib/libxml2.dylib
.No
Header Search Paths
e naUser Header Search Paths
linha, adicione$(SDKROOT)/usr/include/libxml2
.Nesses dois últimos casos, certifique-se de que o caminho seja inserido em Depurar e Liberar.
3. Limpo
No
Product
menu, selecioneClean
.Então, se eu fosse você (e vamos encarar, provavelmente eu sou), eu sairia do Xcode e iria embora. Quando você voltar e lançar, você deve estar pronto para partir.
fonte
opening import file 'Swift.swift': Not a directory
depois de fazer isso no Xcode 5.Para o Xcode 6, tive que fazer o seguinte:
1) adicionar a biblioteca "libxml2.dylib" ao TARGET do meu projeto (fases de construção -> Vincular binário às bibliotecas)
2) adicione "$ (SDKROOT) / usr / include / libxml2" aos Caminhos de pesquisa de cabeçalho no TARGET (Configurações de compilação -> Caminhos de pesquisa de cabeçalho)
Depois disso, o alvo deve ser construído com sucesso.
fonte
Você também precisa adicionar
/usr/include/libxml2
ao seu caminho de inclusão.fonte
Forme o link de @Matt Ball,
Descobri que seguir foi útil para mim.
Você precisa adicionar libxml2.dylib ao seu projeto (não coloque na seção Frameworks). No Mac, você o encontrará em
/usr/lib/libxml2.dylib
e para o iPhone, você vai querer o/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
versão.Como libxml2 é um .dylib (não é um .framework amigável e legal), ainda temos mais uma coisa a fazer. Vá para as configurações de construção do projeto (
Project->Edit Project Settings->Build
) e encontre o "Search Paths
". Em "Caminhos de pesquisa de cabeçalho", adicione o seguinte caminho no Mac:fonte
Ray Wenderlich tem uma postagem no blog sobre o uso de gdata que resolve esse problema. Basicamente, estas etapas simples:
No XCode, clique em Projeto \ Editar configurações do projeto e certifique-se de que “Todas as configurações” estejam marcadas.
Encontre a configuração Caminhos de pesquisa \ Caminhos de pesquisa do cabeçalho e adicione / usr / include / libxml2 à lista.
Finalmente, localize a seção Linking \ Other Linker Flags e adicione -lxml2 à lista.
postagem original: leia e escreva documentos xml com gdataxml
fonte
Achei o mesmo, tive que adicionar $ (SDKROOT) / usr / include / libxml2 para o Xcode mais recente (4.3.x). TAMBÉM, o que me manteve circulando por horas é o fato de que eu estava modificando o "TARGET" e não o "PROJECT" (a nova UI do Xcode é tão complexa que é fácil ignorar isso). Você precisa modificar o PROJETO!
fonte
Outra solução. execute todas as etapas no caminho de pesquisa do cabeçalho, etc. e certifique-se de que a configuração selecionada no projeto em Configurações do projeto seja a correta. Ao clicar duas vezes nas configurações de construção do projeto, você pode estar alterando as configurações de Distribuição, mas está tentando adicionar o caminho de pesquisa do cabeçalho nas configurações de "Depurar". Portanto, verifique se as configurações estão corretas. ou escolha todas as configurações
fonte
Descobri que, com o xCode 4.3.2, tive que inserir $ (SDKROOT) / usr / include / libxml2 no campo Header Search em vez de simplesmente / usr / include / libxml2
fonte
A partir do Mavericks (OS X 10.9), o diretório / usr / include desapareceu . Metade das respostas aqui são obsoletas, pois o aplicativo não será compilado até que você classifique o diretório de inclusão.
Resolvi o problema criando um link simbólico para MacOSX SDK no terminal, usando o seguinte comando:
O aplicativo agora compila novamente.
fonte
Não tenho certeza de qual é a diferença, mas adicione o caminho de inclusão para o projeto, bem como o destino.
fonte
No Mountain Lion eu estava enfrentando o mesmo problema, que foi resolvido adicionando
/usr/include/libxml2
para incluir caminhos com sinalizador "recursivo", use isso se tudo acima não for produtivo.fonte
Tive esse problema quando reabri um projeto (que foi desenvolvido no XCode 3.algo no Leopard) após atualizar para o Snow Leopard e o XCode 3.2. Curiosamente, isso afetou apenas alguns tipos de builds (os builds do emulador funcionaram bem, os do dispositivo me deram o erro). E eu tenho libxml2 em / usr / include, e de fato contém libxml / tree.h.
Mesmo a mágica "Limpar" não funcionou, mas "Vazios Caches ..." no menu "XCode" (entre o logotipo da Apple e Arquivo) funcionou (esse menu estava lá nas versões anteriores?). Não sei o motivo, mas depois de uma limpeza, não houve mais reclamações em relação a libxml / tree.h
fonte
Selecione também "Sempre pesquisar caminhos de usuário" para SIM. No XCode 4.3.3 é por padrão NÃO
fonte
Por favor, siga os seguintes passos
Adicionar libxml2
libxml2.dylib pode ser encontrado em seu Mac Machin em /usr/lib/libxml2.dylib
Alterar "Caminhos de pesquisa de cabeçalho"
Clique em [Nome do projeto] (no painel esquerdo) -> Projeto -> Configurações de compilação -> Selecionar tudo (o padrão é Básico)
Digite Caminhos de pesquisa de cabeçalho na caixa de pesquisa
Clique duas vezes em Caminhos de pesquisa de cabeçalho -> + - > "$ (SDKROOT) / usr / include / libxml2"
Adicione -lxml2 a "Outro sinalizador de linker"
Pesquise por "Outros sinalizadores de linker " conforme pesquisa na etapa 2,
clique na linha "Outros sinalizadores de linker ". Clique em "+" e adicione "-lxml2" à lista.
Altere o tipo de projeto para ARC -> Não, ou seja, contagem automática de referência para Não. Você pode pesquisar ARC conforme a etapa 2
fonte
Xcode 4.5 Eu usei a solução do CW inteiramente. A única exceção é que $ (SDKROOT) / usr / include / libxml2 não funcionou para mim, e eu tive que adicionar "$ (SDK_DIR)" / usr / include / libxml2 aos meus caminhos de pesquisa de cabeçalho de projeto e Caminhos de pesquisa de cabeçalho de usuário . Depois que o projeto for construído com sucesso.
EDIT: Eu tenho o projeto Google GData dentro do meu projeto (chamado MyProject) (meu projeto usa). GData requer libxml. Para construir o projeto MyProject com sucesso, adiciono "$ (SDK_DIR)" / usr / include / libxml2 aos Caminhos de pesquisa de cabeçalho de MyProject e não aos Caminhos de pesquisa de cabeçalho de GData . Se eu não o adicionei ao MyProject, o projeto não foi compilado ).
fonte
Achei este tutorial visual útil.
fonte
Adicionar libxml2 é uma grande dor na bunda enjoativa. Se você vai fazer isso, faça-o antes de ir muito longe na construção de seu projeto.
Veja como.
Configurações de destino
Clique no seu destino (não no seu projeto) e selecione "Build Phases". Clique no triângulo de exibição intitulado "Link Binary With Libraries". Clique em "+" para adicionar uma biblioteca. Role até o final da lista e selecione "libxml2.dylib". Isso adiciona a biblioteca libxml2 2 ao seu projeto ... mas espere.
Configurações do projeto
Agora você precisa dizer ao seu projeto onde procurá-lo mais três vezes.
Selecione a "guia Configurações de construção". Role para baixo até a seção "Vinculação". Abaixo das colunas do seu projeto, clique duas vezes na linha "Outros sinalizadores de vinculação". Clique em "+" e adicione "-lxml2" à lista.
Ainda mais.
Na mesma guia, role para baixo até a seção "Caminhos de pesquisa". Na coluna do seu projeto, na linha "Framework Search Paths", adicione "/usr/lib/libxml2.dylib".
Em "Caminhos de pesquisa de cabeçalho" E na linha "Caminhos de pesquisa de cabeçalho do usuário", adicione "$ (SDKROOT) / usr / include / libxml2". Nesses dois últimos casos, certifique-se de que o caminho seja inserido em Depurar E Liberar.
Então. No menu "Produto", selecione "Limpar".
Isso está funcionando e para o Xcode5 também! Obrigado!
fonte
Não coloque libxml2.dylib na pasta frameworks, coloque-o na raiz logo abaixo da raiz (ícone azul superior esquerdo)
Em seguida, clique no projeto (ícone azul SUPERIOR esquerdo), vá para Configurações de compilação, na caixa de pesquisa digite "Caminhos de pesquisa de cabeçalho" e adicione este "$ (SDKROOT) / usr / include / libxml2"
Este código resolve meu problema, espero que ajude você a corrigir isso
fonte
@Aqib Mumtaz - Eu fiz isso funcionar seguindo as instruções na nota de Parris acima intitulada "Adicionando libxml2 no Xcode 4.3 / 5/6". A etapa de uso de um caminho de pesquisa de estrutura não funciona e o compilador reclama. Muitos parabéns para aquele cara de qualquer maneira!
Estou usando o Xcode 6.2b3
Independentemente da versão do Xcode que você está usando, é um bug. Nem sempre presuma que os erros de compilação são reais. Muitas vezes, quando ele não segue caminhos de pesquisa de cabeçalho e inclui claramente listados não são encontrados. Pior, os erros resultantes tendem a apontá-lo em direções diferentes, de modo que você perde muito tempo brincando com distrações. Com isso dito ...
Recomende pequenos passos começando exatamente com isso ...:
Notas:
espero que isto ajude.
Se por acaso você está desenvolvendo algo para veteranos, digamos, um aplicativo para iPhone / iPad ou Mac, e está trabalhando contra algo chamado "MDWS" ou "VIA", que são interfaces baseadas em SOAP para o sistema de registro médico ... entre em contato comigo
fonte
Resolvi em três etapas no projeto de teste de unidade Xcode 8.0 +
1) Eu adicionei o arquivo libxml às fases de construção. Siga este link
2) Eu adicionei outros sinalizadores de linker como
-ObjC
(para os alvos do projeto e do projeto de teste)3) Eu configurei o caminho de pesquisa do cabeçalho como
"${SDKROOT}/usr/include/libxml2"
(não se esqueça das aspas duplas em ambos os lados) (para os alvos do projeto e do projeto de teste)Um deles resolverá o problema. Caso contrário, você deve aplicar todos os três itens acima.
fonte
Achei que adicionei errado, então percebi que o problema não era o suporte a arco, então verifique o suporte aqui, salva-vidas -> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/
fonte