Jak kompilować bez ostrzeżeń traktowanych jako błędy?

Problem polega na tym, że ten sam kod, który dobrze kompiluje się w systemie Windows, nie jest w stanie skompilować się na Ubuntu. Za każdym razem, gdy dostaję ten błąd:

cc1: warnings being treated as errors

Teraz, to duża baza kodów i nie lubię naprawiać wszystkich ostrzeżeń.

Czy Jest jakiś sposób na pomyślną kompilację pomimo ostrzeżeń?

Author: Pro Backup, 2012-07-19

7 answers

Jasne, Znajdź gdzie -Werror jest ustawione i usuń tę flagę. Wtedy ostrzeżenia będą tylko ostrzeżeniami.

 86
Author: Daniel Fischer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-19 12:52:20

Wszystkie ostrzeżenia można traktować jako takie za pomocą -Wno-error. Ostrzeżenia mogą być traktowane jako takie, używając -Wno-error=<warning name>, Gdzie <warning name> jest nazwą Ostrzeżenia, którego nie chcesz traktować jako błędu.

Jeśli chcesz całkowicie wyłączyć wszystkie ostrzeżenia, użyj -w (niezalecane).


Źródło: http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html

 35
Author: orlp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-19 12:55:16

Usuń -Werror z plików Make lub CMake, zgodnie z sugestią w tym poście

 11
Author: Andrea Araldo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-29 22:02:02

Rozwiązanie:

CFLAGS=-Wno-error ./configure
 9
Author: Zibri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-13 13:41:43

Jeśli kompilujesz jądro Linuksa. Na przykład, jeśli chcesz wyłączyć ostrzeżenie, które jest "nieużywana-ale-ustawiona-zmienna", potraktowano jako błąd. Możesz dodać oświadczenie:

KBUILD_CFLAGS += $(call cc-option,-Wno-error=unused-but-set-variable,)

In your Makefile

 4
Author: Andy Zhang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-24 13:19:13

Dzięki za wszystkie pomocne sugestie. W końcu upewniłem się, że w moim kodzie nie ma ostrzeżeń, ale znowu otrzymałem to Ostrzeżenie od sqlite3: {]}

Assuming signed overflow does not occur when assuming that (X - c) <= X is always true

Które poprawiłem dodając następujący CFLAG:

-fno-strict-overflow
 3
Author: Saurabh Verma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-20 14:25:15

-Wall i -Werror opcje kompilatora mogą to spowodować, sprawdź, czy są one używane w Ustawieniach kompilatora.

 3
Author: Marlab,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-28 19:43:43