Donc, je travaille sur un projet et je voulais utiliser certaines fonctionnalités de C11 pour C. Pour utiliser ces fonctionnalités, GCC 4.7 est requis, alors je suis allé sur synaptic et j'ai cherché la version 4.7, et j'ai trouvé les paquets gcc-4.7-base. l'a installé [1].
Donc, maintenant que gcc-4.7-base est installé, je m'attendais à pouvoir utiliser la version 4.7, mais non, lorsque je fais gcc --version
, il affiche encore la version 4.6.3, même lorsque j'essaie d'appeler directement la version 4.7 (via /usr/bin/gcc-4.7
), cela ne fonctionne pas. existe, bien qu'un exécutable gcc-4.6
existe.
Comment "activer" GCC 4.7? J'ai lu ici , vous faites des choses folles avec update-alternatives
, mais cela ne fonctionne pas pour moi car l'exécutable gcc-4.7
n'existe pas réellement sur ma machine.
Notes: 1. J'ai aussi vu gcc-4.6-base, alors je me suis dit que je le désinstallerais, mais Synaptic a tenté de supprimer tous les paquets que j'avais installés et d'installer un runtime Java. ne pas l'enlever.
Ce qui suit a fonctionné pour moi.
Sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
Sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
Sudo update-alternatives --config gcc
Le binaire gcc
se trouve dans le package gcc-X.Y
et non pas gcc-X.Y-base
. Ce dernier est une dépendance de gcc-X.Y
ou libstdc++
.
En gros, vous devriez simplement installer gcc-4.7
et ensuite l'appeler comme gcc-4.7
à partir de votre makefile ou utiliser install-alternatives
pour le définir par défaut.