Comment utiliser GCC 4.7 au lieu de 4.6?


8

Je travaille donc sur un projet et je voulais utiliser certaines fonctionnalités C11 pour C. Pour utiliser ces fonctionnalités, GCC 4.7 est requis, alors je suis allé sur synaptic et j'ai recherché 4.7, et j'ai trouvé les packages gcc-4.7-base donc j'ai l'a installé [1].

Alors maintenant que gcc-4.7-base est installé, je m'attendais à pouvoir utiliser 4.7, mais non, quand je le fais, gcc --versionil affiche encore 4.6.3 encore plus, quand j'essaie d'appeler directement 4.7 (via /usr/bin/gcc-4.7), il n'existe pas, bien qu'un gcc-4.6exécutable existe.

Comment "activer" GCC 4.7? J'ai lu ici , vous faites des trucs fous avec update-alternatives, mais ça ne marche pas pour moi car l' gcc-4.7exécutable n'existe pas réellement sur ma machine.

Notes: 1. J'ai également vu gcc-4.6-base, alors j'ai pensé que je le désinstallerais, mais synaptic a tenté de supprimer tous les packages que j'avais installés et d'installer un runtime Java, donc pour une raison évidente, j'ai décidé de ne pas le supprimer.

Réponses:


13

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

Source de référence


Je ne pense pas que cela réponde à la question, car l'OP a spécifiquement déclaré que la update-alternativesroute ne fonctionnerait pas pour eux car ils n'avaient pas le binaire gcc-4.7 disponible. En effet, essayer de suivre les instructions de cette réponse après avoir installé gcc-4.7-base entraîne l'erreur:update-alternatives: error: alternative path /usr/bin/gcc-4.7 doesn't exist.
waldyrious

0

Le gccbinaire est dans le gcc-X.Ypaquet, non gcc-X.Y-base. Ce dernier est une dépendance de gcc-X.You libstdc++.

Fondamentalement, vous devez simplement installer gcc-4.7, puis l'appeler à gcc-4.7partir de votre makefile ou l'utiliser install-alternativespour en faire la valeur par défaut.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.