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?


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


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


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í


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


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.


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í


¡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í.


0

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


0

Limpia tu proyecto y ejecuta

Producto-> Limpiar luego, ejecutar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.