Bei einigen Compilern können Sie Warnungen als Fehler festlegen, so dass Sie keine Compiler-Warnungen zurücklassen, da der Code andernfalls nicht erstellt wird. Das ist eine gute Sache.Shell-Skript, um Warnungen als Fehler zu emulieren?
Leider haben einige Compiler nicht ein Flag für Warnungen-als-Fehler.
Ich muss ein Shell-Skript oder Wrapper schreiben, die die Funktion bereitstellt.
Vermutlich analysiert es die Ausgabe der Kompilierungskonsole und gibt Fehler zurück, wenn Compilerwarnungen vorhanden waren (oder Fehler), und andernfalls erfolgreich. "Misserfolg" bedeutet auch (ich denke), dass Objektcode nicht erzeugt werden sollte.
Was ist der kürzeste, einfachste Sie UNIX/Linux-Shell-Skript darüber trifft die expliziten Anforderungen schreiben kann, sowie die folgenden impliziten Anforderungen der ansonsten genauso wie der Compiler verhält: - akzeptiert alle Flaggen, Optionen, Argumente - unterstützt Umleitung von Stdout und Stderr - produziert Objektcode und Links wie angegeben
Schlüsselwörter: elegant, erfüllt alle Anforderungen.
Extra-Kredit: einfach in eine GNU-Datei zu integrieren.
Danke für Ihre Hilfe.
=== === Clues Diese Lösung auf ein anderes Problem, Shell-Funktionen (?), Append text to stderr redirects in bash könnte Figur in. Frage mich, wie litb ‚s Freund einladen meine Adresse " die bash recht gut kennt" Frage?
=== Antwort Status ===
Dank Charlie Martin für die kurze Antwort, aber das ist leider, was ich begann mit. Vor einer Weile benutzte ich das, entließ es für den Bürogebrauch und innerhalb weniger Stunden wurde mir der schwerwiegendste Nachteil aufgezeigt: Es wird eine Kompilation ohne Warnungen, aber nur Fehler übergeben. Das ist wirklich schlecht, denn dann liefern wir Objektcode, der der Compiler wird nicht funktionieren. Die einfache Lösung erfüllt auch nicht die anderen aufgeführten Anforderungen.
Dank Adam Rosenfield für die Kurzschrift und Chris Dodd für die Einführung von Pipefail zur Lösung. Chris ' Antwort am nächsten, weil ich denke, die Pipefail sollte sicherstellen, dass, wenn die Kompilierung tatsächlich bei Fehler fehlschlägt, dass wir Fehler erhalten, wie wir sollten. Chris, funktioniert Pipefail in allen Shells? Und haben Sie irgendwelche Ideen zu den übrigen oben genannten impliziten Anforderungen?