Ist es möglich um diese Warnung zu deaktivieren in clang? Warnung: #pragma einmal in der main-Datei
Warnung: #pragma once in Haupt-Datei
Starten wir unsere Header durch klammerten sich um einen partiellen AST.
Ist es möglich, zu deaktivieren, Warnung?
InformationsquelleAutor der Frage kylawl | 2013-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die
-Wno-pragma-once-outside-header
Befehl Linie argument.InformationsquelleAutor der Antwort W1M0R
Hatte ich diese Sache, wenn ich versehentlich inklusive einer header-Datei in der compile sources (dieser header hat #pragma once Linie). Um dies zu beheben Kopfzeile entfernen von Quellen kompilieren (und wahrscheinlich brauchen Sie es ersetzen .cpp-Datei)
InformationsquelleAutor der Antwort fnc12
Gibt es keine
-W
option für "#pragma once in main file", so kann man ihn nicht ausschalten über die üblichen Mittel. (Jedoch, die Clang-Entwickler sehr bewusst, dass Abmahnungen ohne-W
Optionen zu saugen, und es gibt eine Allgemeine Regel, dass neue Warnungen immer bekommen-W
Optionen. Die Reinigung der alten code, leider ist Links als eine übung für Frustrierte Anwender.)Wenn Euch das nichts ausmacht shell Hack, man konnte immer etwas wie das hier tun:
Die nachfolgende
-
wie üblich, mittels "read from stdin". Die-x c++
sagt die Klappern, was Sprache, die Sie verwenden (da kann Sie nicht sagen, von der Datei-Endung, wenn es ist keine Datei), und ändernc++
zuc++-header
bedeutet, dass wir wollen, zu produzieren .gch-Datei statt einer .o Datei.Den beiden
.gch
Dateien, die damit produziert werden, sind NICHT bit-für-bit identisch. Ich weiß nicht genug über gch-Dateien, Ihnen zu sagen, was sein könnte observably anders über Ihr Verhalten. Jedoch, da alles, was Sie über Pflege ist Clang - AST, ich Wette, Sie werden in Ordnung sein mit ihm. 🙂InformationsquelleAutor der Antwort Quuxplusone
Verwenden Sie die
-w
(Kleinbuchstabenw
nicht groß -W
) - option beim kompilieren der Quelle zu unterdrücken Warnungen.InformationsquelleAutor der Antwort Ravi Tiwari
Gibt es keine Möglichkeit, es zu kontrollieren, so dass nur verbieten diese Warnung in Ihrem code.
InformationsquelleAutor der Antwort Sergey Shambir