Eh bien, en fait, si tu as plusieurs versions de gcc qui sont installées (comme moi : j'utilise plusieurs versions, selon que je fais du développement ou que je tripatouille mon système), soit pour toute compilation tu modifies tes Makefile pour changer la version de gcc à utiliser, ou alors tu utilises la variable d'environnement $CC ou $CXX, ou bien alors tu utilises les "alternatives" (là, il faut que tu cherches, car je sais que ça existe, mais je ne les utilises pas), ou, finalement, tu gères toi-même ta version de gcc par lien, je t'explique...
Si tu regardes dans /usr/bin/ : xterm:root@mickey[Fri 18/03/05 16:10:38] in /usr/bin
» ll g{cc,++}*
lrwxrwxrwx 1 root root 00007 Mar 04 22:07 g++ -> g++.cur
-rwxr-xr-x 1 root root 88876 Mar 13 02:47 g++-3.3
-rwxr-xr-x 1 root root 88876 Mar 14 05:19 g++-3.4
lrwxrwxrwx 1 root root 00007 Feb 22 16:25 g++.cur -> g++-3.3
lrwxrwxrwx 1 root root 00007 Mar 04 22:07 gcc -> gcc.cur
-rwxr-xr-x 1 root root 85196 Mar 13 02:47 gcc-3.3
-rwxr-xr-x 1 root root 84972 Mar 14 05:20 gcc-3.4
lrwxrwxrwx 1 root root 00007 Mar 04 01:00 gcc.cur -> gcc-3.4
lrwxrwxrwx 1 root root 00010 Feb 13 16:05 gccbug -> gccbug-3.3
-rwxr-xr-x 1 root root 16056 Mar 13 02:39 gccbug-3.3
-rwxr-xr-x 1 root root 16198 Mar 14 05:11 gccbug-3.4
tu vois gcc qui est un lien symbolique (->) vers gcc-3.4 (vers gcc.cur qui pointe lui-même vers gcc-3.4 dans mon cas, mais pour une raison particulière (j'ai la flemme de tout changer pour t'expliquer :p )). Donc en ce moment, je suis en version gcc-3.4... Si tu veux changer de version, tu changes le lien symbolique vers la version gcc-3.3... Et ça se fait avec la commande (cette commande est pour toi, à priori, pas dans mon cas) : rm /usr/bin/gcc
ln -s /usr/bin/gcc-3.3 /usr/bin/gcc
(Attention, il faut que tu t'assures que gcc est un lien avant de le supprimer ;))
Et tant qu'à faire, pour g++ c'est la même chose... Si tu utilises g++ :)
Voilà, normalement, une fois le lien fait, toutes les compilations devraient se faire avec la version que tu veux...
Par contre, vérifie les variables d'environnement pour qu'elles ne soient pas en conflit avec ta modif : echo $CC
echo $CXX
Elles devraient contenir gcc et g++ et non gcc-3.4 et g++-3.4. Sinon, les Makefile utilisant les variables d'environnement $CC et $CXX plutôt que /usr/bin/gcc ne tiendront pas compte de ta modification de lien.
Bon, j'espère que tu as compris, parce que là, je t'ai mis du concentré :)
[^] # Re: changer de version de compilo...
Posté par Mikaël Cordon . En réponse au message *!!*%*&???? de drip. Évalué à 1.
Si tu regardes dans /usr/bin/ :
xterm:root@mickey[Fri 18/03/05 16:10:38] in /usr/bin
» ll g{cc,++}*
lrwxrwxrwx 1 root root 00007 Mar 04 22:07 g++ -> g++.cur
-rwxr-xr-x 1 root root 88876 Mar 13 02:47 g++-3.3
-rwxr-xr-x 1 root root 88876 Mar 14 05:19 g++-3.4
lrwxrwxrwx 1 root root 00007 Feb 22 16:25 g++.cur -> g++-3.3
lrwxrwxrwx 1 root root 00007 Mar 04 22:07 gcc -> gcc.cur
-rwxr-xr-x 1 root root 85196 Mar 13 02:47 gcc-3.3
-rwxr-xr-x 1 root root 84972 Mar 14 05:20 gcc-3.4
lrwxrwxrwx 1 root root 00007 Mar 04 01:00 gcc.cur -> gcc-3.4
lrwxrwxrwx 1 root root 00010 Feb 13 16:05 gccbug -> gccbug-3.3
-rwxr-xr-x 1 root root 16056 Mar 13 02:39 gccbug-3.3
-rwxr-xr-x 1 root root 16198 Mar 14 05:11 gccbug-3.4
tu vois gcc qui est un lien symbolique (->) vers gcc-3.4 (vers gcc.cur qui pointe lui-même vers gcc-3.4 dans mon cas, mais pour une raison particulière (j'ai la flemme de tout changer pour t'expliquer :p )). Donc en ce moment, je suis en version gcc-3.4... Si tu veux changer de version, tu changes le lien symbolique vers la version gcc-3.3... Et ça se fait avec la commande (cette commande est pour toi, à priori, pas dans mon cas) :
rm /usr/bin/gcc
ln -s /usr/bin/gcc-3.3 /usr/bin/gcc
(Attention, il faut que tu t'assures que gcc est un lien avant de le supprimer ;))
Et tant qu'à faire, pour g++ c'est la même chose... Si tu utilises g++ :)
Voilà, normalement, une fois le lien fait, toutes les compilations devraient se faire avec la version que tu veux...
Par contre, vérifie les variables d'environnement pour qu'elles ne soient pas en conflit avec ta modif :
echo $CC
echo $CXX
Elles devraient contenir gcc et g++ et non gcc-3.4 et g++-3.4. Sinon, les Makefile utilisant les variables d'environnement $CC et $CXX plutôt que /usr/bin/gcc ne tiendront pas compte de ta modification de lien.
Bon, j'espère que tu as compris, parce que là, je t'ai mis du concentré :)