Ich habe an einem Projekt gearbeitet, bei dem ich mit g ++ C-Code in Dateien kompiliert habe, die auf .c enden. Der Grund ist, dass mir gesagt wird, dass g ++ bessere Warnmeldungen hat.
Ich wechsle den Build-Prozess für dieses Projekt, um CMake zu verwenden. Ich stellte fest, dass CMake ursprünglich gcc verwenden wollte, um C-Dateien zu kompilieren. Dies ist fehlgeschlagen, weil Variablen zur Verwendungszeit deklariert wurden. Also habe ich versucht, mit g ++ C-Dateien mit der Einstellung
zu kompilieren %Vor%in der Datei CMakeLists.txt. Aber das führt zu der Fehlermeldung:
%Vor%Ich habe meine .c-Dateien in .cpp umbenannt, um dieses Problem zu beheben, da dies der einfachste Weg für mich zu sein scheint, damit die Dinge funktionieren, und vielleicht auch der beste Weg. Aber ich frage mich, ob es möglich ist, CMake zu zwingen, g ++ zu verwenden, um C-Dateien zu kompilieren.
Sie sollten den Compiler für diesen Zweck nicht überschreiben. Wenn Sie wirklich Ihre C-Dateien als C ++ kompilieren müssen, sollten Sie cmake lehren, dass Ihre Dateien zu C ++ - Sprache gehören:
%Vor%Wenn Sie das gesamte Projekt wechseln müssen, legen Sie es in der Projekt -Direktive fest :
%Vor%