Dans des Makefile on trouve des r�gles pour des fichiers CXX CPP CC mais quel est r�ellement la diff�rence entre ces fichiers et les r�gles de compilation ...
CXX_FLAGS=
CPP_FLAGS=
CFLAGS=
...
Merci d'avance pour vos pr�cisions
Dans des Makefile on trouve des r�gles pour des fichiers CXX CPP CC mais quel est r�ellement la diff�rence entre ces fichiers et les r�gles de compilation ...
CXX_FLAGS=
CPP_FLAGS=
CFLAGS=
...
Merci d'avance pour vos pr�cisions
Salut,
A vrai dire, � l'heure actuelle, il n'y a plus de diff�rence entre CXX_FLAGS et CPP_FLAGS.
CFLAGS permet d'indiquer les drapeaux � utiliser lors de la compilation d'un code C et les deux autres les drapeaux � utiliser lors de la compilation d'un code C++.
En effet, gcc est capable de compiler aussi bien du code C que du code C++.
Il faut savoir que, � l'origine, il existait trois moyens d'indiquer � gcc que l'on voulait travailler sur du code C++, et tous passaient par l'extension des fichiers.
Les trois extensions reconnues comme �tant sens�es contenir du C++ �taient *.cpp, *.cxx et *.C (en majuscule).
Seulement, c'�tait valide sur les syst�mes d'exploitation sensibles � la casse (aux diff�rences entre minuscule et majuscule) dans le nom des fichiers.
L'ennui, c'est que windows est arriv�, et que, pour lui, monfichier.C est exactement le m�me fichier que MonFichier.c ou que MONFICHIER.C, alors qu'avant, ils auraient �t� consid�r�s comme �tant trois fichiers diff�rents (sur Unix, principalement).
L'extension .C a donc �t� abandonn�e pour cette raison d'insensibilit� � la casse, et l'extension *.cxx est progressivement tomb�e en d�suetude.
Voil� pourquoi, maintenant, l'habitude est plut�t d'utiliser l'extension *.cpp, et donc d'avoir principalement besoin de CPP_FLAGS.
Comme gcc pourrait, n'importe quand, consid�rer de g�rer les extensions .cxx de mani�re diff�rente, mais, que, pour l'instant, il les g�re encore comme �tant des fichiers contenant du C++, on s'assure que les deux extensions utiliseront les m�me drapeaux en d�clarant g�n�ralement l'un comme �tant �gal � l'autre![]()
A m�diter: La solution la plus simple est toujours la moins compliqu�e
Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
mon tout nouveau blog
Normalement c'est CFLAGS, CPPFLAGS et CXXFLAGS.
Il n'y a pas de _.
CFLAGS ce sont les options pass�es au compilateur C
CPPFLAGS les options pass�es au pr�processeur
CXXFLAGS les options pass�es au compilateur C++
Ces variables sont utilis�es pour les commandes par d�faut g�n�r�es par make, dans le cas o� tu ne donnes pas de commande � ex�cuter pour r�aliser les d�pendances.
Partager