Estoy usando encabezados precompilados en mi proyecto en C, pero estamos integrando .Archivo CPP en el proyecto.

Aquí está el error:

Error   1   fatal error C1853: 'Debug\MuffinFactory.pch' precompiled header
file is from a previous version of the compiler, or the precompiled header is C++
 and you are using it from C (or vice versa)    
c:\users\blake\desktop\projects\muffinfactory\source\main.cpp   1

Sólo necesitamos una sola .CPP compilado en nuestro proyecto, pero realmente necesitamos el encabezado precompilado para guardar los tiempos de compilación (de Windows.h y más).

¿Cómo debo organizar mi proyecto de hacer esto?

  • Se puede compilar en C como en C++?
  • Es poco probable que sea el último problema que nos encontramos tratando de combinar como este. El problema habitual es tratar de insertar un par de .C en un proyecto de C++, no la otra manera alrededor.
  • stdafx.h para los Novatos – viva64.com/en/b/0265
InformationsquelleAutor James Linden | 2012-01-19

5 Comentarios

  1. 19

    Así que no use los encabezados precompilados para que solo archivo!

    Ser .archivo cpp, que tendrá diferentes opciones de compilación de todos modos.

    • por favor explique lo que respondió @ Persson
    • Esto fue hace mucho tiempo, pero creo que la idea era que C y C++ probablemente requeriría diferentes opciones del compilador, por lo que el archivo de encabezado precompilado no sería utilizable para ambos conjuntos de todos modos (si el compilador aceptado). Así que acaba de compilar el único archivo CPP por separado, y no utilizar un archivo de encabezado precompilado para ello.
  2. 5

    Usted podría ser capaz de crear dos encabezados precompilados en su proyecto. Hay una propiedad de cada archivo de código fuente que determina si va a utilizar un archivo de encabezado precompilado, o generar un archivo de encabezado precompilado – pruebe la configuración de dos diferentes fuentes para generar un encabezado.

    • Gran opción! Requiere un poco de tocar el violín con el .vcproj aunque.
    • Información Adicional: Seleccione .c archivo que no desea utilizar «Encabezado Precompilado» desde el Explorador de soluciones -> Click Derecho -> Bajo los Encabezados Precompilados Opción, Seleccione No Utilizar el Encabezado Precompilado
    • Gracias Zuuum esto funciona para mí cuando la mezcla de c & C++ en el VS.
    • Gracias Por Tu Respuesta.
  3. 1

    Intentar crear una sala C++ archivo de encabezado precompilado (decir MuffinFactoryCpp.h que es una copia de la otra). Mira en la configuración del proyecto en «Encabezados Precompilados» y utilizar este nuevo archivo de encabezado como el encabezado precompilado para el archivo fuente de C++.

  4. 0

    Sólo miré el error aquí y encontré este hilo. Sin embargo, a prueba y error, he encontrado que el problema era que yo no tengo todos los archivos guardados recientemente. Parece que Visual Studio es un poco quisquillosos acerca de guardar las fechas de los archivos que están conectados juntos.

    Fui alrededor de golpear Ctrl+S en todos los archivos de origen y que se ha solucionado el problema.

  5. 0

    Zuuum Respuesta del

    Encabezados precompilados con una mezcla de C y C++

    Disculpas a Zuuum para una descarada estafa de su respuesta, pero 7 años después, sigue enterrado como un comentario. Bo Perrson nos dice qué hacer

    Así que no use los encabezados precompilados para que solo archivo!

    Se tendrán diferentes opciones de compilación de todos modos.

    y Zuuum nos dice cómo

    Información adicional: Seleccione el archivo que usted no desea utilizar el «Encabezado Precompilado»
    desde el Explorador de soluciones
    haga Clic Derecho
    Bajo los Encabezados Precompilados
    Opción, Seleccione No Utilizar el Encabezado Precompilado
    – Zuuum Feb 19 ’12 a las 18:34

    He hecho pequeñas modificaciones – que no son citas directas. El motivo de mi cambio es posible que desee excluir de C o de C++ archivo de utilizar encabezados precompilados para un caso en particular. Bo supone C++, ya que es una respuesta directa a la pregunta. Zuuum supone C, y ese es el caso para mí y en mis ilustraciones. Podría ser en la práctica.

    Es comprensible, pero molesta que la ubicación de las opciones en los menús de los cambios de una versión de visual studio para otro, pero aquí es la ubicación del elemento de menú en mi actual de visual studio (2019).

Dejar respuesta

Please enter your comment!
Please enter your name here