web-dev-qa-db-fra.com

Quelle version de GCC est utilisée par la commande make?

Existe-t-il un moyen de savoir quelle version de gcc est utilisée par la commande make? J'ai 5 versions installées de gcc sur mon ordinateur: par dpkg -l | grep gcc

ii  gcc                                                   4:4.8.2-1ubuntu6                                    i386         GNU C compiler
ii  gcc-4.6                                               4.6.4-6ubuntu2                                      i386         GNU C compiler
ii  gcc-4.6-base:i386                                     4.6.4-6ubuntu2                                      i386         GCC, the GNU Compiler Collection (base package)
ii  gcc-4.8                                               4.8.2-19ubuntu1                                     i386         GNU C compiler
ii  gcc-4.8-base:i386                                     4.8.2-19ubuntu1                                     i386         GCC, the GNU Compiler Collection (base package)
ii  gcc-4.9-base:i386                                     4.9-20140406-0ubuntu1                               i386         GCC, the GNU Compiler Collection (base package)
ii  libgcc-4.8-dev:i386                                   4.8.2-19ubuntu1                                     i386         GCC support library (development files)
ii  libgcc1:i386                                          1:4.9-20140406-0ubuntu1                             i386         GCC support library
7

Ouvrez le terminal et tapez:

gcc --version  

Si ce n'est pas la version de gcc souhaitée, vous pouvez modifier la version par défaut de gcc à l'aide de la commande update-alternatives afin de déterminer le fichier réel référencé par un nom générique, par exemple le fichier référencé par gcc. Pour plus d'informations, voir les réponses à cette question: Comment changer le compilateur GCC par défaut dans Ubuntu? .

6
karel

Les makefiles utilisent souvent des règles implicites pour compiler des éléments, plutôt que de définir le compilateur de manière spécifique. Dans ce cas, la convention (et la valeur par défaut) consiste à utiliser $(CC), dont la valeur par défaut est cc. Donc, si vous tapez cc --version, vous verrez ce que Makefiles utilise par défaut.

Le Makefile peut cependant remplacer la définition de CC ou ne pas utiliser $(CC) du tout. Mais c’est la convention (comme dans autoconf également pour les scripts configure).

Voir aussi: https://stackoverflow.com/questions/2969222/make-gnu-make-use-a-different-compiler

5
Robie Basak

makene fait que ce que le Makefile lui dit de faire. La plupart des Makefiles utiliseront la commande gccpar défaut. La réponse de karel s’applique dans la plupart des cas, mais vous devez savoir qu’il n’ya rien qui oblige makeà utiliser le paramètre GCC par défaut. (Et d'ailleurs, makepeut être utilisé pour beaucoup de choses en plus de la compilation de C, de sorte qu'il n'utilise peut-être même pas du tout GCC.)

3
fkraiem