web-dev-qa-db-fra.com

Ajouter des drapeaux de compilation à CFLAGS et CXXFLAGS lors de la configuration / fabrication

Le projet que j'essaie de construire a des drapeaux par défaut

CFLAGS = -Wall -g -O2

CXXFLAGS = -g -O2

J'ai besoin d'ajouter un drapeau -w à ces deux variables (pour supprimer: 'considérer tous les avertissements comme des erreurs')

J'ai une méthode pour y arriver, donner

make 'CFLAGS=-Wall -g -O2 -w'; 'CXXFLAGS=-g -O2 -w'

OR

Courir ./configure et modifier statiquement Makefile

Mais je veux ajouter mes options avec les options existantes lors de l'exécution de configure ou make

La publication Où ajouter un CFLAG, tel que -std = gnu99, dans un projet autotools utilise commodément une macro pour y parvenir.

31
Vigneshwaren

Vous avez presque raison pourquoi avez-vous ajouté le point-virgule?

Pour le faire sur la ligne configure:

 ./configure CFLAGS='-g -O2 -w' CXXFLAGS='-g -O2 -w'

Pour le faire sur la ligne make:

 make CFLAGS='-g -O2 -w' CXXFLAGS='-g -O2 -w'

Cependant, cela ne supprime pas vraiment considérez tous les avertissements comme des erreurs; cela supprime tous les avertissements. Donc, spécifiant à la fois -Wall et -w n'a pas de sens. Si vous voulez conserver les avertissements mais ne pas les considérer comme des erreurs, utilisez le -Wall -Wno-error drapeaux.

Sinon, la plupart des configure scripts qui activent -Werror Par défaut, un indicateur tel que --disable-werror ou similaire. Courir ./configure --help et voir s'il y a quelque chose comme ça.

49
MadScientist