Cuando construyo mi solución c ++ en Visual Studio, se queja de que falta el archivo xxxxx.pch. ¿Hay alguna configuración que me falta para recuperar los encabezados precompilados?
Aquí está el error exacto de integridad:
Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
c++
visual-studio
precompiled-headers
pch
Sam Mackrill
fuente
fuente
Respuestas:
NOTA: Las versiones posteriores del IDE pueden usar "pch" en lugar de "stdafx" en los nombres predeterminados para los archivos relacionados. Puede ser necesario sustituir pch por stdafx en las instrucciones a continuación. Me disculpo. No es mi culpa.
Haga clic en Aceptar
Si no tiene stdafx.h en sus archivos de encabezado, póngalo allí. Edítelo para incluir todos los encabezados que desea precompilar.
Lucky 13. Cruza los dedos y presiona Construir.
fuente
stdafx.pch
archivo, mientras que elxxxxx.pch
de la pregunta sugiere un problema más complejo (configuración de PCH múltiple).El uso de encabezado precompilado (pch) es un proceso de dos pasos.
En el paso uno, compila un archivo apéndice (en VS200x generalmente se llama
stdafx.cpp
. Se usan versiones más nuevaspch.cpp
). Este archivo auxiliar indirectamente incluye solo los encabezados que desea precompilar. Por lo general, un encabezado pequeño (generalmentestdafx.h
opch.hpp
) enumera encabezados estándar como<iostream>
y<string>
, y luego se incluye en el archivo apéndice. Compilar esto crea el archivo .pch.En el paso 2, su código fuente real incluye el mismo encabezado pequeño del paso 1 que el primer encabezado. El compilador, cuando encuentra este encabezado especial, lee el archivo .pch correspondiente. Eso significa que no tiene que (re) compilar esos encabezados estándar cada vez.
En su caso, parece que el paso 1 falla. ¿El archivo de código auxiliar todavía está presente? En su caso, eso probablemente sería
xxxxx.cpp
. Debe ser un archivo compilado/Yc:xxxxx.pch
, ya que es el indicador del compilador para indicar que es el paso 1 del proceso PCH. Sixxxxx.cpp
está presente y es un archivo de código auxiliar, es probable que le falte la/Yc:
opción del compilador.fuente
Reparar:
Asegúrese de tener xxxxx.cpp en su proyecto
Compile xxxxx.cpp con el indicador / Yc ( Crear encabezado precompilado)
(haga clic con el botón derecho en xxxxx.cpp -> propiedades -> Encabezados precompilados -> crear )
Compile todos los demás archivos con el indicador / Yu ( Usar encabezado precompilado)
(haga clic con el botón derecho en proyecto -> propiedades -> Encabezados precompilados -> usar )
fuente
fuente
Create (/Yc)
(para restaurar y luego usarlo nuevamente)Sí, se puede eliminar con las opciones / Yc como otros han señalado, pero lo más probable es que no necesite tocarlo para solucionarlo. ¿Por qué obtiene este error en primer lugar sin cambiar ninguna configuración? Es posible que haya "limpiado" el proyecto y luego intente compilar un solo archivo cpp. Obtendría este error en ese caso porque ahora falta el encabezado del precompilador. Simplemente construya todo el proyecto (incluso si no tiene éxito) y luego construya un solo archivo cpp y no obtendrá este error.
fuente
En caso de que esto le ocurra en una compilación del servidor (AppCenter) y su uso de CocoaPods, asegúrese de que su Podfile esté registrado.
AppCenter solo ejecuta el comando "pod install" si encuentra un Pofile y NO encuentra la carpeta PODS en los archivos.
Hice registrar la carpeta, pero debido a que git ignora automáticamente los archivos .pch (compruebe que .gitignore para verificar esto), mi .pch no fue registrada.
Solucioné mi problema obligando a los archivos .pch a verificarlo, pero eliminar la carpeta PODS también debería funcionar, ya que Appcenter ejecutará el comando de instalación de pod en ese caso.
Esperemos que esto ayude a alguien.
fuente
Si todo está bien, pero este error está presente, debe verificar la siguiente sección en el archivo ****. Vcxproj:
En mi caso, había un nombre incorrecto de una configuración: solo la primera palabra.
fuente
Sé que este tema es muy antiguo, pero estaba lidiando con esto en VS2015 recientemente y lo que ayudó fue eliminar las carpetas de compilación y volver a compilarlo. Esto puede haber sucedido debido a intentar cerrar el programa o un programa que detiene / congela VS mientras se construye.
fuente
Estaba buscando el archivo PCH de iOS que tenía el mismo problema, si llegó aquí como yo también, la solución que he encontrado es borrar los datos derivados; Cierre los simuladores, vaya a las preferencias de xCode -> ubicaciones -> vaya a la ruta del archivo de datos derivados, cierre xCode, elimine los archivos en la carpeta de datos derivados, vuelva a iniciar y saludos :)
fuente
Pruebe Build> Clean Solution, luego Build> Build Solution. Esto funciona para mi.
fuente