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:
- ir al registro de compilación que falló
- use cmd-f "SharedPrecompiledHeaders" para encontrarlo (estará en el medio de una línea de comando compleja y horrible)
- 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
- abrir Buscador
- menú: Ir -> Ir a la carpeta ...
- copiar / pegar la ruta seleccionada
- 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