Error del compilador de Xcode versión 4.6.2 (4H1003)

88

Acabo de actualizar a la versión 4.6.2 de Xcode (4H10003) e intenté ejecutar un proyecto de aplicación que funcionaba anteriormente en el simulador y recibí el siguiente error y la compilación falló.

Archivo PCH construido a partir de una rama diferente ((clang-425.0.27)) que el compilador ((clang-425.0.28))

¿Qué salió mal y cómo se puede solucionar?

OscarTheGrouch
fuente
Intenté hacer un Producto -> Limpiar y eliminar la aplicación creada anteriormente del simulador. Ninguno funcionó.
OscarTheGrouch
2
"Limpiar carpeta de compilación" no resolvió mi problema al compilar en un dispositivo (lo intenté varias veces). Tuve que "Limpiar la carpeta de compilación", compilar en el simulador, luego compilar en el dispositivo y se resolvió.
DBD

Respuestas:

183

Haga una limpieza del proyecto; mantenga presionada la opción para que esté limpiando toda la carpeta de compilación y los intermedios. Es posible que deba salir de Xcode y tirar todo el contenido de la carpeta DerivedData a mano en el Finder, como describo aquí: Cómo vaciar cachés y limpiar todos los destinos Xcode 4

mate
fuente
Sí, una limpieza me funcionó también. El error es simplemente decir que los encabezados precompilados se crearon con una versión diferente y no son compatibles con la versión más reciente del compilador.
zingle-dingle
Si esto no le ha sucedido en actualizaciones anteriores de Xcode, tuvo suerte. Me ha pasado. Te acostumbras después de un tiempo ...
Matt
Esto funcionó para mí después de hacer la 'Carpeta de compilación limpia' con la opción presionada. ¡Gracias!
Lucas
1
Esto funcionó para mí, gracias ... No sabía que mantener la opción hace un tipo diferente de limpieza.
OscarTheGrouch
Esto solo funciona para construir dentro de Xcode. Si está construyendo desde la línea de comando, vea la publicación de Rodrigo Lima a continuación.
Jeff
21

Vaya a su proyecto Build Settings, busque una configuración llamada Precompiled Headers Cache Pathy luego elimine esa carpeta

sycx
fuente
Solo esta acción me ayudó con el problema mencionado. ¡Gracias!
Naranja
13

Haga una limpieza usando command+shift+ky ejecute el proyecto existente nuevamente.

ingrese la descripción de la imagen aquí

Vaibhav Saran
fuente
9

De las notas de la versión de XCode 4.6.2

Problemas conocidos

edificio

Al compilar un producto creado previamente con Xcode 4.6.1 o anterior, la compilación falla con un error similar a este:

Archivo PCH construido a partir de una rama diferente ((clang-425.0.27)) que el compilador ((clang-425.0.28))

Para solucionar este problema, elija Producto> Limpiar antes de construir su producto. 13663167

Producto de ejecución> Obras limpias

Michael Davidovich
fuente
1
Sí, fue un problema con las versiones anteriores, pero se reconoce que vale la pena mencionarlo en las notas de la versión solo ahora. Además, no brindan ninguna solución para las personas que no usan Xcode como IDE, @sycx lo hace (borre la ruta de caché de encabezados precompilados).
A-Live
9

Probé todo lo anterior y funciona bien desde la interfaz de usuario de Xcode, pero todavía me estaba fallando cuando ejecuté xcodebuild desde la línea de comandos .

Eso se debió a las dependencias de otras bibliotecas y sus encabezados precompilados. Cuando se ejecuta desde la línea de comandos, parece que xcodebuild almacena / lee los encabezados precompilados desde aquí:

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

Después de limpiar esa carpeta, xcodebuild tuvo éxito.

Rodrigo Lima
fuente
2
La ubicación de esta carpeta será diferente para todos, por lo que una forma rápida de localizar la carpeta correcta para limpiar es usar un find + grep ... sudo find / var / folders | grep SharedPrecompiled
Greg Combs
1
Yo tuve el mismo problema. La ejecución desde la línea de comandos falló, aunque pude compilar desde Xcode. Terminé ejecutando: sudo find /private/var/folders -name SharedPrecompiledHeadersy luego vacié los directorios resultantes. Trabajado como un encanto.
Jeff
Si pudiera darle un voto positivo adicional, lo haría. Definitivamente, la limpieza no parece funcionar conmigo cuando construyo desde la línea de comando. Esperaba que así fuera, pero saber dónde buscar los encabezados precompilados fue muy útil.
John Bowers
4

Especialmente si compila desde la línea de comandos o tiene un script de compilación, limpiar el destino de xcode no es suficiente. Tienes que eliminar esta carpeta.

La ubicación exacta del encabezado precompilado se puede encontrar en el proyecto, parte de la ruta de la carpeta es aleatoria (supongo), especialmente después de /var/folders/xx..xxx/C.

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

Ejecute Terminal y vaya a esta carpeta y elimine (use el comando),

#rm -fr SharedPrecompiledHeaders

ingrese la descripción de la imagen aquí

karim
fuente
¡Gran respuesta! Pero no tenía esa carpeta en esa ubicación (incluso en el indicador de Terminal usando ls -lAhF). Sin embargo, cerrar Xcode y luego eliminar la carpeta com.apple.Xcode.501 funcionó bien.
RedYeti
La ubicación exacta del encabezado precompilado se puede encontrar en el proyecto, parte de la ruta de la carpeta es aleatoria (supongo), especialmente después de /var/folders/xx..xxx/C.
karim
Lo siento, no estaba claro. Sí, la ruta siempre cambiará debajo de / var / folders / * pero la carpeta que no estaba allí era "SharedPrecompiledHeaders", lo que me sorprendió. Pero eliminar la carpeta principal que mencioné debería funcionar sin problemas.
RedYeti
4

Tuve que eliminar manualmente ~/Library/Developer/Xcode/DerivedData/ Clean no funcionó para mí.

Orkoden
fuente
0

use "command + shift + k" para limpiar su proyecto, entonces estará bien.

Yiyue Wang
fuente
0

Limpia tu proyecto y ejecuta

Producto-> Limpiar luego, ejecutar.

Vineesh TP
fuente