Frage

Gibt es eine Möglichkeit gesetzten Flags auf einer Pro-Datei-Basis mit auto?
Insbesondere dann, wenn ich ein c ++ Projekt und kompilieren wollen mit -Wall alle Dateien mit einer Ausnahme, für die möchte ich eine bestimmte Warnung deaktivieren, was könnte ich tun?

Ich habe versucht, so etwas wie:

CXXFLAGS = -WAll ...
bin_PROGRAMS = test
test_SOURCES = main.cpp utility.cpp
utility_o_CXXFLAGS = $(CXXFLAGS) -Wno-unused-value

, aber es hat nicht funktioniert.

EDITED. Entfernt Referenzhandbuch zu auto, die eigentlich irreführend wurde (dank Douglas Leeder)

War es hilfreich?

Lösung

Automake unterstützt nur pro-Zielflaggen, während Sie pro-Objekt-Flags wollen. Ein Weg, um ist eine kleine Bibliothek zu erstellen, die das Objekt enthält:

CXXFLAGS = -Wall ...
bin_PROGRAMS = test
test_SOURCES = main.cpp
test_LDADD = libutility.a
noinst_LIBRARIES = libutility.a
libutility_a_SOURCES = utility.cpp
libutility_a_CXXFLAGS = $(CXXFLAGS) -Wno-unused-value

Andere Tipps

Sie können dies nicht mit automake ... aber tun mit make =) in Ihrem Makefile.am folgenden Zeile:

utility.$(OBJEXT) : CXXFLAGS += -Wno-unused-value

Siehe GNU Make Dokumentation: Target-spezifische Variable Werte für Details.

Sie haben verwirrt -., Dass Abschnitt Optionen bezieht sich auf auto

Es ist ein Weg, um die autoBefehlsZeilenOptionen der Einstellung:

  

-W KATEGORIE   --warnings = Kategorie       Output Warnungen in der Kategorie fallen. Kategorie kann einer der folgenden sein:

gnu
    warnings related to the GNU Coding Standards (see Top).
obsolete
    obsolete features or constructions
override
    user redefinitions of Automake rules or variables
portability
    portability issues (e.g., use of make features that are known to be not portable)
syntax
    weird syntax, unused variables, typos
unsupported
    unsupported or incomplete features
all
    all the warnings
none
    turn off all the warnings
error
    treat warnings as errors 
     

Eine Kategorie kann mit ‚no-‘ durch das Vorsetzen seinen Namen ausgeschaltet.   Zum Beispiel wird verstecken -Wno-Syntax der   Warnungen über nicht verwendete Variablen.

     

Die Kategorien Ausgabe standardmäßig ist ‚Syntax‘ und ‚nicht unterstützt‘.   Darüber hinaus ‚Gnu‘ und ‚Übertragbarkeit‘   sind in --gnu und --gnits aktiviert   Strenge.

     

Die Umgebungsvariable WARNHINWEISE eine durch Kommata getrennte Liste enthalten kann   Kategorien zu ermöglichen. Es wird genommen   berücksichtigt werden, bevor die Befehlszeile   Auf diese Weise schaltet, wird -Wnone auch   jede Warnung Kategorie ignorieren aktiviert durch   WARNHINWEISE. Diese Variable wird auch verwendet,   von anderen Tools wie autoconf; Unbekannt   Kategorien werden für diese ignoriert   Grund.

Die pro-Datei in Abschnitt 17 bezieht sich auf pro-Makefile nicht Quelldatei.

Ich bin nicht bekannt, dass pro-Source-Einstellungsdatei Flagge, aber Sie können für jedes Ergebnis binär mit der Option:

binaryname_CXXFLAGS
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top