Hat gcc (oder irgendein anderer Compiler) eine Option, um mich globale Namespace-Verschmutzungen zu warnen?
Ich habe versucht, eine Beispielanwendung Suite zu kompilieren, aber es stellte sich heraus, einige der Header-Dateien dieser Proben sind mit globalen Namespace-Verschmutzungen ( using namespace
in Header-Dateien), so dass Mac OS X globale Struktur Rect wird mehrdeutig.
Ich habe auch versucht, die Reihenfolge von #include zu ändern, um das Rect-Symbol des Systems vor dem Minenfeld von using namespace
aufzulösen, aber das führte dazu, dass einige Symbole nicht aufgelöst wurden.
Meine frühere Suche mit Google ist fehlgeschlagen, schlechte Vorahnung aber, wenn diese Art von Warnoption existiert, bitte geben Sie mir Informationen.
Ich weiß nichts über gcc, aber CLang hat es:
%Vor% Sie können es direkt mit -Wusing-directive-in-header
oder über die Gruppe -Wheader-hygiene
aktivieren (es ist jetzt das einzige Mitglied der Gruppe).
Es wurde gründlich auf der Mailingliste überprüft und warnt normalerweise nicht vor regulären Fällen.
Tags und Links c++ namespaces warnings