Le problème est que le même code qui compile bien sur Windows ne peut pas être compilé sur Ubuntu. Chaque fois que j'obtiens cette erreur:
cc1: warnings being treated as errors
Maintenant, c'est une base de code volumineuse et je n'aime pas résoudre tous les avertissements.
Est-il possible de compiler avec succès malgré les avertissements?
Merci pour toutes les suggestions utiles. Je me suis enfin assuré qu'il n'y avait aucun avertissement dans mon code, mais encore une fois, cet avertissement a été reçu de sqlite3:
Assuming signed overflow does not occur when assuming that (X - c) <= X is always true
que j'ai corrigé en ajoutant le CFLAG suivant:
-fno-strict-overflow
Bien sûr, recherchez où -Werror
est défini et supprimez cet indicateur. Alors les avertissements ne seront que des avertissements.
Vous pouvez faire en sorte que tous les avertissements soient traités comme tels en utilisant -Wno-error
. Vous pouvez faire en sorte que des avertissements spécifiques soient traités en utilisant -Wno-error=<warning name>
, où <warning name>
est le nom de l'avertissement que vous ne voulez pas traiter comme une erreur.
Si vous voulez entièrement désactiver tous les avertissements, utilisez -w
(non recommandé).
Source: http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html
Si vous compilez le noyau Linux. Par exemple, si vous souhaitez désactiver l'avertissement "Variable non utilisée mais définie" traité comme erreur Vous pouvez ajouter une déclaration:
KBUILD_CFLAGS += $(call cc-option,-Wno-error=unused-but-set-variable,)
dans votre Makefile
Supprimez -Werror
de vos fichiers Make ou CMake, comme suggéré dans cet article
Les options du compilateur -Wall
et -Werror
peuvent en être la cause. Vérifiez si elles sont utilisées dans les paramètres du compilateur.