J'ai un fichier .cpp fourni de manière externe. C'est un mélange de code compatible C et un peu de C++. Le code C++ est juste un wrapper autour du C pour tirer parti des fonctionnalités C++.Forcer gcc à compiler le fichier .cpp en tant que C
Il utilise des macros #ifdef __cplusplus
pour protéger le code C++, ce qui est génial. Malheureusement, si j'essaie de compiler en utilisant gcc, il le traite en C++ à cause de la fin du fichier. Je suis conscient des différences entre gcc et g ++ - je ne veux pas compiler en C++.
Est-il possible de forcer gcc à traiter ce fichier comme un fichier C? J'ai essayé d'utiliser par exemple --std=c99
, mais cela génère correctement l'erreur que C99 n'est pas valide pour C++.
Renommer le fichier en .c fonctionne, mais je voudrais éviter cela si possible, car il est fourni en externe et il serait bon qu'il reste comme une copie vierge.
Merci!
Parfois, lorsque je vois des questions SO. Je veux juste crier une grosse RTFM !! 'man gcc'. Pour ce roi de la question, il prend en fait moins de temps que d'écrire la question. – log0
J'ai eu le même problème car je voulais compiler du code C pur dans un fichier .cpp ... évidemment je suis assez débutant en ce qui concerne C. RTFM! n'est pas un si bon conseil alors. Les pages man gcc sont 11.000 lignes et il est difficile de trouver une solution si vous ne savez pas quoi chercher. – mort