Das Problem ist, dass derselbe Code, der unter Windows gut kompiliert wird, unter Ubuntu nicht kompiliert werden kann. Jedes Mal, wenn ich diesen Fehler erhalte:
cc1: warnings being treated as errors
Jetzt ist es eine große Codebasis und ich mag es nicht, alle Warnungen zu korrigieren.
Kann ich trotz der Warnungen erfolgreich kompilieren?
c
gcc
compiler-warnings
Saurabh Verma
quelle
quelle
-Werror
, können Sie es verzeichnisweise wieder hinzufügen, nachdem Sie Warnungen entfernt haben.Antworten:
Finden Sie sicher, wo gesetzt
-Werror
ist, und entfernen Sie das Flag. Dann sind Warnungen nur Warnungen.quelle
-Wno-error
, wie von Nightcracker vorgeschlagen. Das sollte funktionieren, es sei denn, das-Werror
wird nach den Flags übergeben, die SieCFLAGS
im Makefile gesetzt haben.Sie können alle Warnungen, die als solche behandelt werden, mit erstellen
-Wno-error
. Sie können bestimmte Warnungen behandelt werden als solche machen , indem Sie ,-Wno-error=<warning name>
wo<warning name>
ist der Name der Warnung Sie nicht als Fehler behandelt werden sollen.Wenn Sie alle Warnungen vollständig deaktivieren möchten , verwenden Sie
-w
(nicht empfohlen).Quelle: http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html
quelle
Entfernen Sie
-Werror
aus Ihren Make- oder CMake-Dateien, wie in diesem Beitrag vorgeschlagenquelle
Wenn Sie einen Linux-Kernel kompilieren. Wenn Sie beispielsweise die Warnung "Nicht verwendete, aber gesetzte Variable" deaktivieren möchten, wurde dies als Fehler behandelt. Sie können eine Anweisung hinzufügen:
in deinem Makefile
quelle
Vielen Dank für alle hilfreichen Vorschläge. Ich habe endlich sichergestellt, dass mein Code keine Warnungen enthält, habe aber wieder diese Warnung von sqlite3 erhalten:
was ich durch Hinzufügen der folgenden CFLAG behoben habe:
quelle
-Wall
und-Werror
Compileroptionen können dies verursachen. Überprüfen Sie, ob diese in den Compilereinstellungen verwendet werden.quelle
Lösung:
quelle