so deaktivieren Sie gcc warn "cc1: warning: command line option" - std=c++11 " ist gültig für C++/ObjC++, aber nicht für C [standardmäßig aktiviert]"
Ich bin neu in cmake und gcc.
Die erste Aufgabe in meiner neuen Rolle in der Gesellschaft war es, reinigen Sie die Fehler aus unserem linux-Zusammenstellung
Ich habe die meisten, und jetzt die einzige Warnung, die ich sehe, ist
cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C [enabled by default]
Ich soll verdorren zu unterdrücken der Warnung oder um das Problem zu lösen, die in der cmake-Datei.
Leider habe ich noch nicht den richtigen -Wno-xxx
Aussage, dass hier passt.
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Code Verwarnungen können zum schweigen gebracht werden, mit
-Wno-xxx
Optionen, weil manchmal Sie haben keine Kontrolle über den Quellcode. Aber eine Warnung, die Ihnen mitteilt, dass ein command-line-option ist falsch, kann nicht zum schweigen gebracht werden mit weiteren Kommandozeilen-option — wenn Sie beeinflussen können compiler-Aufruf, dann warum nicht einfach entfernen Sie die falsche option?Diese Besondere Warnung sagt Ihnen, dass Sie nicht setzen-standard C++11, wenn C-code kompilieren. Um es loszuwerden, zu finden, wo
-std=c++11
ist definiert in der build-Konfiguration, und stellen Sie sicher, es ist nur bei C++ - Kompilierung, und nicht für C. Zum Beispiel, verschieben Sie es ausCFLAGS
zuCXXFLAGS
oder cmake ist äquivalent davon.-std=c++11
beim kompilieren C. Nach Dokumentation,-Wno-zero-as-null-pointer-const
ist eine C++ - option, und ist nicht sogar anerkannt von gcc kompilieren der C-Dateien.