xcode clang precompiled-headers

xcode - ¿Cómo reparar el error de PCH?



clang precompiled-headers (20)

Cuando intento crear mi aplicación en Xcode , Xcode este mensaje de error:

Archivo PCH creado desde una rama diferente ((clang-425.0.24)) que el compilador ((clang-425.0.27))

No sucede antes, pero esta fue la primera compilación después de actualizar Xcode.

Otras aplicaciones funcionan, pero no esta específica.

Si desactivo la "Precompile Prefix Header" , funciona.

¿Cómo soluciono este error y todavía mantengo esa configuración?


Después de actualizar Xcode, estaba obteniendo esto con múltiples proyectos. Clean Build Folder and Clean no tuvo ningún efecto - @sedes contestó y el comentario de @ josema.vitaminew lo hizo por mí. Pero puede ser complicado a menos que uses un poco de astucia, así que aquí hay un atajo paso a paso:

  1. ir al registro de compilación que falló
  2. use cmd-f "SharedPrecompiledHeaders" para encontrarlo (estará en el medio de una línea de comando compleja y horrible)
  3. arrastre-seleccione el texto "SharedPrecompiledHeaders" y todos los caracteres ANTES pero NO DESPUÉS hasta que llegue al inicio de ese bit de ruta (aún en el medio del bloque grande de texto) por ejemplo para mí: "/ var / folders / 03 /n71d4r551jv40j5nb8r9fjy80000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
  4. abrir Buscador
  5. menú: Ir -> Ir a la carpeta ...
  6. copiar / pegar la ruta seleccionada
  7. en "SharedPrecompiledHeaders", elimina TODAS las subcarpetas (esto es seguro: solo se trata de datos en caché)

... y ahora todos sus proyectos serán "reparados", pero tendrán que volver a compilarse por primera vez sin almacenamiento en caché (por lo que la creación NEXT SOLAMENTE será más lenta de lo normal).


Eliminar las carpetas Build y DerivedData desde la ubicación del proyecto en Finder funcionó para mí.


En mi caso, Xcode estaba creando la carpeta DerivedData en mi paquete principal del proyecto (/ Users / Path_to_your_project_source_code / YourProjectName / DerivedData)

Acabo de eliminar esta carpeta de mi paquete de código fuente y ahora está funcionando.

Para marcar Ir a Xcode Preferences-> Locations y ver si DerivedData está seleccionado a "Relative". Ver la imagen de abajo


En su directorio de proyecto ios, vaya a compilar y eliminar la carpeta ModuleCache . Ejecute react-native run-ios nuevo, debería funcionar como se esperaba. Resumen - rm -rf ios/build/ModuleCache


Encontré este error al intentar crear un proyecto con Swift Package Manager.

La solución es simplemente eliminar el directorio .build .


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

La ubicación del encabezado precompilado se puede encontrar en

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

Eliminar esta carpeta con,

#rm -fr SharedPrecompiledHeaders


Esto a menudo es un problema de almacenamiento en caché. Por lo general, se puede resolver manteniendo presionada la tecla Opción y eligiendo Producto> Carpeta de compilación limpia ...


Intenté limpiar el proyecto y limpiar la carpeta de compilación, que no funcionó.

Después de eso, salí de xCode por completo, eliminé la carpeta de datos derivados en su ubicación estándar: ~ / Library / Developer / Xcode / DerivedData, inicié xCode nuevamente y creé el proyecto.

Eso parecía haber resuelto el problema para mí.


La limpieza y / o eliminación de datos derivados no funcionó para mí. Lo que funcionó fue tocar / guardar el archivo .pch (agregar un carácter, luego eliminarlo) para forzarlo a reconstruirse. Esto hizo el truco.


Ninguna de las otras opciones funcionó para mí, esto es lo que lo solucionó:

/Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/ la carpeta de caché en /Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/ (cambiar el nombre también funciona).

Intente eliminar la carpeta mencionada en el error, si su error se ve así:

PCH was compiled with module cache path ''/Users/User/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8'', but the path is currently ''/Users/Stan/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8


Para mí, esto siempre sucederá cuando copie mi proyecto en otra ubicación. Haría esto para insertarlo en un repositorio o algo así.

Debo eliminar la carpeta de compilación (rm -rf Build /) en las ubicaciones antiguas y nuevas para que funcione. Tiene sentido porque la carpeta Build tendrá datos que son irrelevantes para la nueva ubicación.

La limpieza de los datos derivados o la eliminación de las carpetas sharedPrecompiledHeaders realmente no lo hicieron en este caso.


Parece que la carpeta Producto> Limpiar compilación ... (con la tecla Opción presionada) funciona para la mayoría de las personas. Ver la respuesta seleccionada por @gaige.

Si no eres como la mayoría de las personas (incluido yo mismo) y esto todavía te causa problemas, es probable que XCode haya dejado tus encabezados precompilados compartidos en otro lugar. Para mí estaban en una carpeta similar a esto:

/var/folders/<some random two characters>/<some random string>/C/com.apple.Xcode.502/SharedPrecompiledHeaders

Acabo de eliminar toda la carpeta SharedPrecompiledHeaders y eso me solucionó las cosas. Aunque no tocaría mucho más aquí ...


Puede intentar limpiar el producto o la carpeta de compilación:

MAYÚS + COMANDO + K

OPCIÓN + MAYÚS + COMANDO + K


Si hacer una compilación limpia no funciona para usted, busque los archivos PCH en /var/folders/../SharedPrecompiledHeaders y elimine los archivos PCH, que funcionó para mí.


Si no se soluciona mediante limpieza. Es un problema de caché de compilación: mantenga presionada la tecla Opción y navegue a Producto> Limpiar carpeta de compilación. Eso solucionó mi problema.


Sopla la carpeta DerivedData para el proyecto. Consulte las preferencias de Xcode -> Ubicaciones para ver dónde lo guarda.


Vaya a Xcode Preferences-> Locations (como se menciona en la respuesta de wcochran) y simplemente cambie el nombre de su carpeta DerivedData. Simplemente cambié el mío de "DerivedData" a "DerivedData2" y eso obligó al sistema a dejar de hacer referencia a la ubicación anterior. Esto lo solucionó cuando ninguna de las otras respuestas funcionó. Ver foto:


debes mantener presionado "shift + command + C", y luego construirás


en mi caso, me deshice de todos los archivos en SharedPrecompiledHeaders de esta manera y todo comenzó a funcionar bien:

sudo find /var/folders/ -type d -name "SharedPrecompiledHeaders" | xargs -n 1 -I dir sudo find dir -name /* -type f -delete


ACTUALIZADO

Esto funcionó perfectamente para mí:

  • Cierre su proyecto o espacio de trabajo.
  • En Finder: ⇧shift + ⌘cmd + G
  • Pegar: ~ / Library / Developer / Xcode / DerivedData /
  • Elimine la carpeta ModuleCache y vacíe la papelera.
  • Abre tu proyecto.
  • Limpio: ⇧shift + ⌘cmd + K
  • Build: ⌘cmd + B

xCode 7.3.1
referencia here