Tengo un archivo .cpp proporcionado externamente. Es una mezcla de código compatible con C y un poco de C++ también. El código de C++ es solo una envoltura alrededor de la C para aprovechar las características de C++.Obligar a gcc a compilar el archivo .cpp como C
Utiliza macros #ifdef __cplusplus
para proteger el código C++, que es genial. Desafortunadamente, si intento compilar usando gcc, lo trata como C++ debido al final del archivo. Soy consciente de las diferencias entre gcc y g ++; no quiero compilar como C++.
¿Hay alguna manera de forzar a gcc a tratar este archivo como un archivo C? He intentado usar, p. --std=c99
, pero esto produce correctamente el error de que C99 no es válido para C++.
Cambiar el nombre del archivo en .c funciona, pero me gustaría evitar esto si es posible porque se proporciona de forma externa y sería bueno que permanezca como una copia prístina.
Gracias!
A veces, cuando veo ASÍ preguntas. ¡Solo quiero gritar un gran RTFM! 'man gcc'. Para este rey de preguntas, en realidad lleva menos tiempo que escribir la pregunta. – log0
Tuve el mismo problema porque quería compilar código C puro dentro de un archivo .cpp ... obviamente soy bastante principiante en lo que respecta a C. RTFM. no es un buen consejo entonces. Las páginas man de gcc son 11,000 líneas y es difícil encontrar una solución allí si no sabes qué buscar. – mort