Cuando voy a construir mi c++ solución en Visual Studio se queja de que el xxxxx.archivo pch falta. Hay un valor que me falta para obtener la pre-compilado encabezados de vuelta?

aquí es el error exacto para la integridad:

Error   1   fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
  • usted tiene que proporcionar más información. ¿qué error fue exactamente lo que usted está? ¿cómo es actualmente su proyecto configurado?
  • Un simple volver a generar todo solucionado mi problema.
InformationsquelleAutor Sam Mackrill | 2011-05-23

10 Comentarios

  1. 376

    NOTA: las versiones Posteriores de la IDE puede utilizar «pch» en lugar de «stdafx» en los nombres por defecto de los archivos relacionados. Puede ser necesario sustituir pch para stdafx en las instrucciones de abajo. Me disculpo. No es mi culpa.

    1. Haz clic derecho sobre el proyecto en el Explorador de soluciones.
    2. Haga clic en Propiedades en la parte inferior del menú desplegable.
    3. En la parte superior izquierda de las Páginas de Propiedades,
      seleccione Todas las Configuraciones del menú desplegable.
    4. Abrir el C/C++ árbol y seleccione los Encabezados Precompilados
    5. De Encabezado Precompilado: Seleccione Usar (/Yu)
    6. De relleno en el Archivo de Encabezado Precompilado campo. Estándar es stdafx.h
    7. Haga Clic En Aceptar

    8. Si usted no tiene stdafx.h en los Archivos de Encabezado que la puso allí. Editar
      a #incluye todas las cabeceras desea precompilado.

    9. Poner un archivo llamado stdafx.cpp en su proyecto. Poner #include «stdafx.h»
      en la parte superior de ella, y nada más.
    10. Haga clic en stdafx.cpp en el Explorador de soluciones. Seleccione Propiedades
      y Todas las configuraciones de nuevo como en el paso 4 …
    11. … pero esta vez seleccione el Encabezado Precompilado Crear (/Yc). Esto sólo
      enlazar a un archivo stdafx.cpp.
    12. Poner #include «stdafx.h» en la parte superior de todos los archivos de código fuente.

    Suerte 13. A cruzar los dedos y golpeó a Construir.

    • Yo no sabía stdafx.cpp deben tener una configuración diferente. Gran respuesta.
    • Esto debe ser aceptado respuesta, el uno como el otro es que faltan los pasos 10 y 11. Gracias!
    • Esta es una de las más básicas de respuesta que la mía. Paso 1-7 son necesarios para conseguir PCH de trabajo, pero el mensaje de error de la pregunta indica los pasos ya se han hecho. OTOH, se supone que hay un único stdafx.pch archivo, mientras que el xxxxx.pch de la pregunta alude a una más compleja problema (multi-PCH programa de instalación).
    • Mi héroe. Gracias.
    • Esta respuesta realmente salvó el día. Gracias.
    • Gracias, señor! Volviendo a mi C/C++r raíces para un nuevo proyecto y me siento como un poco de un spaz
    • Increíble responder de manera útil! Gracias.
    • Whow! Yo NUNCA habría descubierto esos últimos pasos.
    • 1ª impresión: esto es bastante simple proceso muy confuso error. siendo C# developer estoy luchando por esto desde muy larga. pero esto parece trabajado para un gran grupo de personas. Estoy en progreso para la implementación de la solución para mi proyecto, se actualizará si funcionó para mí.

  2. 57

    De Encabezado precompilado (pch), el uso es un proceso de dos pasos.

    En el paso uno, se compila un archivo de código auxiliar (En VS200x se le suele llamar stdafx.cpp). Este archivo de código auxiliar indirectamente incluye sólo los encabezados desea precompilado. Normalmente, una pequeña cabecera (generalmente stdafx.h) las listas de las cabeceras estándar tales como <iostream> y <string>, y este se incluye en el archivo de código auxiliar. La compilación de este modo, se crea .archivo pch.

    En el paso 2, el código fuente incluye el mismo pequeño encabezado desde el paso 1 como el primer encabezado. El compilador, cuando se encuentra con este especial de la cabecera, lee el correspondiente .archivo pch en su lugar. Eso significa que no tiene que (re)compilar los encabezados estándar cada vez.

    En su caso, parece que falla el paso 1. Es la punta de archivo todavía presente? En su caso, que probablemente sería xxxxx.cpp. Debe ser un archivo que se compila con /Yc:xxxxx.pch, ya que es el compilador de bandera para indicar que es el paso 1 de la PCH proceso. Si xxxxx.cpp está presente, y es un archivo de código auxiliar, entonces es probable que falta de su /Yc: opción del compilador.

    • entonces es probable que falta de su /Yc: opción del compilador. Por la forma en que la opción se encuentra en las Páginas de propiedades del Proyecto / Propiedades de Configuración / C-C / C++ / Encabezados Precompilados
  3. 20

    Revisión:

    1. Asegúrese de que usted tiene xxxxx.cpp en su proyecto

    2. Compilar xxxxx.cpp con /Yc bandera (Crear de Encabezado Precompilado)

      (clic derecho sobre xxxxx.cpp -> propiedades -> Encabezados Precompilados -> crear)

    3. Compilar todos los demás archivos con /Yu bandera (Uso de Encabezado Precompilado)

      (clic derecho sobre el proyecto -> propiedades -> Encabezados Precompilados -> uso)

  4. 7
    1. Haga clic derecho en el proyecto y seleccione la propiedad de elemento de menú
    2. ir a C/C++ -> Encabezados Precompilados
    3. Seleccione No Utilizar Encabezados Precompilados
    • Esto funcionó para mí. Yo había eliminado «stdafx.cpp» entonces cuando he añadido de nuevo, este error no se iría hasta que apago encabezados precompilados. El proyecto es pequeño de todos modos, así que no es como si hace mucha diferencia en la velocidad.
    • 4. Seleccione Create (/Yc) (para restaurar y, a continuación, utilizar de nuevo)
  5. 2

    Sí puede ser eliminado con el /Yc opciones como otros han señalado, pero lo más probable es que no se necesita tocar para arreglarlo. ¿Por qué está usted recibiendo este error, en primer lugar, sin cambiar la configuración? Usted puede haber «limpiado» el proyecto y que intente compilar un solo archivo cpp. Usted obtiene este error en ese caso porque el precompilador encabezado ahora es que falta. Sólo construir todo el proyecto (aunque sin éxito) y que genera un solo archivo cpp y usted no obtendrá este error.

  6. 2

    En caso de que esto está ocurriendo en un servidor de compilación (AppCenter) y yo uaer el uso de CocoaPods asegurarse de que su Podfile se comprueba en.

    AppCenter sólo se ejecuta el «pod instalar» comando si encuentra un Pofile y NO encontrar las VAINAS de la carpeta en los archivos.

    Tuve la carpeta de check-in, pero debido a git ignora automáticamente .archivos de encabezado precompilado (marque usted .gitignore para veryfy esto), mi .pch estaban nt estar registrado.

    Puse mi problema, forzando al .archivos de encabezado precompilado para comprobarlo, pero la Eliminación de las VAINAS de la carpeta debe trabajar demasiado, ya que Appcenter ejecutará el pod de comandos de instalación en ese caso.

    Hoppefully esto ayuda a alguien.

  7. 0

    Si todo es correcto, pero este error está presente, es necesario comprobar la siguiente sección en*****.vcxproj de archivo:

    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader Condition=

    En mi caso no fue un nombre incorrecto de una configuración: sólo la primera palabra.

  8. 0

    Sé que este tema es muy viejo, pero yo estaba tratando con esto en VS2015 recientemente y lo que ayudó a que fue eliminado las carpetas de generación y re-construir. Esto puede suceder debido a que intenta cerrar el programa o un programa de detener/congelación VS, mientras que la construcción.

    • Sí, pero la pregunta original tenía que ver con VS2008, no VS2015. ¿Tiene alguna certeza de que esto podría resolver el OP del problema?
    • Independientemente de lo que VS versión es, el problema persiste a través de diferentes generaciones. Acabo de probar esto y ver si funciona para lo que usted estaría tratando.
  9. 0

    Yo estaba buscando el iOS archivo PCH teniendo el mismo problema, si has llegado aquí como yo, la solución que he encontrado es mediante el borrado de los datos obtenidos; Cerca de Simulador(s), ir a xCode preferencias -> lugares -> ir a los datos derivados de la ruta de acceso del archivo, cerca de xCode, elimine los archivos de los datos derivados de la carpeta, vuelve a lanzar y saludos 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here