Erro do compilador Xcode versão 4.6.2 (4H1003)


88

Acabei de atualizar para o Xcode versão 4.6.2 (4H10003) e tentei executar um projeto de aplicativo que funcionava anteriormente no simulador e recebi o seguinte erro e a compilação falhou.

Arquivo PCH criado a partir de um branch diferente ((clang-425.0.27)) do compilador ((clang-425.0.28))

O que deu errado e como pode ser consertado?


Tentei fazer um Produto -> Limpar e excluir o aplicativo criado anteriormente do simulador. Nenhum funcionou.
— OscarTheGrouch

2
"Limpar pasta de compilação" não resolveu meu problema ao compilar para um dispositivo (tentei várias vezes). Tive de "limpar a pasta de construção", construir para o simulador e, em seguida, construir para o dispositivo que estava resolvido.
— DBD de

Respostas:


183

Faça uma limpeza do projeto; segure Option para limpar toda a pasta de compilação e intermediários. Você pode ter que fechar o Xcode e jogar fora todo o conteúdo da pasta DerivedData manualmente no Finder, conforme descrevo aqui: Como esvaziar caches e limpar todos os destinos Xcode 4


Sim, uma limpeza funcionou para mim também. O erro está apenas dizendo que os cabeçalhos pré-compilados foram construídos com uma versão diferente e não são compatíveis com a versão mais recente do compilador.
— zingle-dingle

Se isso não aconteceu com você nas atualizações anteriores do Xcode, você teve sorte. Aconteceu comigo. Você se acostuma depois de um tempo ...
— matt

Isso funcionou para mim depois de fazer 'Limpar pasta de compilação' com a opção pressionada. Obrigado!
— Lucas,

1
Isso funcionou para mim, obrigado ... Eu não sabia que segurar a opção faz um tipo diferente de limpeza.
— OscarTheGrouch

Isso só funciona para construir dentro do Xcode. Se você está construindo a partir da linha de comando, veja a postagem de Rodrigo Lima abaixo.
— Jeff

21

Vá para o do seu projeto Build Settings, encontre uma configuração chamada Precompiled Headers Cache Pathe exclua essa pasta


Somente esta ação me ajudou com o problema mencionado. Obrigado!
— Laranja,

13

Faça uma limpeza usando command+shift+ke execute o projeto existente novamente.

insira a descrição da imagem aqui


9

Das notas de versão do XCode 4.6.2

Problemas Conhecidos

Construção

Ao construir um produto criado anteriormente com o Xcode 4.6.1 ou anterior, a construção falha com um erro semelhante a este:

Arquivo PCH criado a partir de um branch diferente ((clang-425.0.27)) do compilador ((clang-425.0.28))

Para resolver esse problema, escolha Produto> Limpar antes de construir seu produto. 13663167

Produto de desempenho> Trabalhos limpos


1
Sim, era um problema com as versões anteriores, mas é reconhecido que vale a pena ser mencionado nas notas de lançamento apenas agora. Além disso, eles não fornecem solução para pessoas que não usam o Xcode como IDE, @sycx fornece (desmarque o caminho do cache de cabeçalhos pré-compilados).
— A-Live de

9

Eu tentei tudo acima e funciona bem na IU do Xcode, mas ainda estava falhando para mim quando executei o xcodebuild na linha de comando .

Isso era devido às dependências de outras bibliotecas e seus cabeçalhos pré-compilados. Ao executar a partir da linha de comando, parece que xcodebuild armazena / lê cabeçalhos pré-compilados aqui:

/var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders

Depois de limpar essa pasta, o xcodebuild foi bem-sucedido.


2
A localização desta pasta será diferente para cada pessoa, então uma maneira rápida de localizar a pasta certa para limpar é usar find + grep ... sudo find / var / folders | grep SharedPrecompiled
— Greg Combs

1
Eu tive o mesmo problema. A execução da linha de comando falhou, embora eu pudesse construir de dentro do Xcode. Acabei executando: sudo find /private/var/folders -name SharedPrecompiledHeaderse depois esvaziei os diretórios resultantes. Funcionou como um encanto.
— Jeff

Se eu pudesse dar a isso um voto positivo adicional, eu o faria. Definitivamente, a limpeza não parece funcionar para mim ao compilar a partir da linha de comando. Eu esperava que sim, mas saber onde procurar os cabeçalhos pré-compilados foi muito útil.
— John Bowers

4

Especialmente se você compilar a partir da linha de comando ou tiver um script de compilação, limpar o destino xcode não é suficiente. Você tem que deletar esta pasta.

A localização exata do cabeçalho pré-compilado pode ser encontrada no projeto, parte do caminho da pasta é aleatório (eu acho), esp após /var/folders/xx..xxx/C.

Target -> build settings => "Build locations" -> Precompiled headers cached path

Execute o Terminal e vá para esta pasta e exclua (use o comando),

#rm -fr SharedPrecompiledHeaders

insira a descrição da imagem aqui


Ótima resposta! Mas eu não tinha essa pasta naquele local (mesmo no prompt do Terminal usando ls -lAhF). No entanto, fechar o Xcode e depois excluir a pasta com.apple.Xcode.501 funcionou perfeitamente.
— RedYeti

A localização exata do cabeçalho pré-compilado pode ser encontrada no projeto, parte do caminho da pasta é aleatório (eu acho), esp após /var/folders/xx..xxx/C.
— karim

Desculpe - não fui claro. Sim o caminho sempre mudará abaixo de / var / folders / * mas a pasta que não estava lá era "SharedPrecompiledHeaders" - o que me surpreendeu. Mas remover a pasta pai que mencionei deve funcionar sem problemas.
— RedYeti

4

Eu tive que excluir manualmente o ~/Library/Developer/Xcode/DerivedData/ Clean não funcionou para mim.


0

use "command + shift + k" para limpar seu projeto, então você ficará bem.


0

Limpe seu projeto e execute

Produto-> Limpe e, em seguida, execute.

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.