Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > GCC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/10/2012, 23h22   #1
flo2708
Invité de passage
 
Homme Florent Prohouly
Étudiant
Inscription : octobre 2012
Messages : 11
Détails du profil
Informations personnelles :
Nom : Homme Florent Prohouly
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2012
Messages : 11
Points : 3
Points : 3
Par défaut Passer de gcc 4.2 à 4.7

Bonsoir, voila en fait je suis sur mac os x Lion, j'ai installé le dernier Xcode 4.5.1 via l'app store, puis j'ai installé le Command Line Tools via "Downloads" dans Xcode. Seulement j'aimerais passer de gcc 4.2 à gcc 4.7 (la derniere version), donc pour cela j'ai fait un sudo port install gcc47 dans le terminal (après avoir installer Macports biensur), l'install de gcc 4.7 s'est bien déroulé mais pourtant quand je tape "gcc -version" en terminal il me reconnait que la version 4.2. Comment ca se fait? Comment puis je uniquement travailler avec la 4.7 (c'est notamment pour bosser sur du parallelisme)
Je vous remercie.
flo2708 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2012, 02h41   #2
mitkl
Rédacteur
 
Avatar de mitkl
 
Homme Timothée Bernard
Étudiant
Inscription : février 2010
Messages : 365
Détails du profil
Informations personnelles :
Nom : Homme Timothée Bernard
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2010
Messages : 365
Points : 1 315
Points : 1 315
Si c'est comme moi, il s'est amusé à installer gcc dans /usr/local/bin/.

Code :
1
2
% /usr/local/bin/gcc -v
gcc version 4.7.0 20120314 (prerelease) (GCC)
__________________
Si vous ne savez toujours pas ce qu’est la récursivité, relisez cette phrase.

Mon blog sur la programmation et l'informatique !
mitkl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2012, 09h45   #3
flo2708
Invité de passage
 
Homme Florent Prohouly
Étudiant
Inscription : octobre 2012
Messages : 11
Détails du profil
Informations personnelles :
Nom : Homme Florent Prohouly
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2012
Messages : 11
Points : 3
Points : 3
Citation:
Envoyé par mitkl Voir le message
Si c'est comme moi, il s'est amusé à installer gcc dans /usr/local/bin/.

Code :
1
2
% /usr/local/bin/gcc -v
gcc version 4.7.0 20120314 (prerelease) (GCC)
Non malheureusement il n'y a rien la dedans, je ne parviens pas à trouver où il s'est installé, puis c'est bizarre car j'ai l'impression qu'il ne trouve que le 4.2... alors que j'ai bien installé la version 4.7
flo2708 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2012, 18h30   #4
Kaluza
Membre du Club
 
Homme
Doctorant en Astrophysique
Inscription : mars 2009
Messages : 284
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Doctorant en Astrophysique
Secteur : Enseignement

Informations forums :
Inscription : mars 2009
Messages : 284
Points : 68
Points : 68
Salut.

Ca donne quoi si tu essayes de taper :
g++-4.7 --version
ou
g++-4.7.0 --version
Si ça marche, alors il te faut compiler avec
g++-4.7 main.cpp -o main
Kaluza est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 15h33   #5
leternel
Expert Confirmé
 
Homme Pierre
Ingénieur développement logiciels
Inscription : juin 2007
Messages : 1 361
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2007
Messages : 1 361
Points : 2 877
Points : 2 877
Personnellement, j'ai eu une fois à éditer le lien symbolique nommé usr/bin/gcc pour qu'il pointe sur gcc-4.7 plutot que gcc-4.2 (et de meme pour g++...)
__________________
Mes principes de bases du codeur qui veut pouvoir dormir:
  • Une variable de moins est une source d'erreur en moins.
  • Un pointeur de moins est une montagne d'erreurs en moins.
  • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
  • La plus sotte des questions est celle qu'on ne pose pas.
Pour faire des graphes, essayez yEd.
leternel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2012, 20h46   #6
flo2708
Invité de passage
 
Homme Florent Prohouly
Étudiant
Inscription : octobre 2012
Messages : 11
Détails du profil
Informations personnelles :
Nom : Homme Florent Prohouly
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2012
Messages : 11
Points : 3
Points : 3
Citation:
Envoyé par Kaluza Voir le message
Salut.

Ca donne quoi si tu essayes de taper :
g++-4.7 --version
ou
g++-4.7.0 --version
Si ça marche, alors il te faut compiler avec
g++-4.7 main.cpp -o main
Bonsoir, désolé du retard, j'ai récuperer internet seulement aujourd'hui donc je repond à présent:

En tapant ce que tu me dis en console, il me retourne
"-bash: g++-4.7.0: command not found".

Mais il faut pas rajouter des espaces normalement?

EDIT:
Ah si voila, en tapant "g++ 4.7.0 --version" avec l'espace, il me retourne ca:

i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Je ne saisis pas pourquoi il persiste avec la version 4.2...
flo2708 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2012, 20h48   #7
flo2708
Invité de passage
 
Homme Florent Prohouly
Étudiant
Inscription : octobre 2012
Messages : 11
Détails du profil
Informations personnelles :
Nom : Homme Florent Prohouly
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2012
Messages : 11
Points : 3
Points : 3
Citation:
Envoyé par leternel Voir le message
Personnellement, j'ai eu une fois à éditer le lien symbolique nommé usr/bin/gcc pour qu'il pointe sur gcc-4.7 plutot que gcc-4.2 (et de meme pour g++...)
Comment faire cela?
flo2708 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2012, 23h07   #8
alexrtz
Membre Expert
 
Avatar de alexrtz
 
Inscription : juin 2003
Messages : 622
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : juin 2003
Messages : 622
Points : 1 094
Points : 1 094
Citation:
Envoyé par flo2708 Voir le message
En tapant ce que tu me dis en console, il me retourne
"-bash: g++-4.7.0: command not found".

Mais il faut pas rajouter des espaces normalement?
Non, g++-4.7.0 est le nom de la commande.
Le port install a installé gcc dans un répertoire qui n'est pas dans ton PATH.
Le PATH est une variable d'environnement qui dit au shell où celui-ci doit chercher les programmes.

Si dans ton PATH tu as "/bin:/usr/bin" et que tu installes un programme dans /usr/local/bin, tu ne pourras pas appeler ce programme en ligne de commande sans entrer son chemin complet (/usr/local/bin/mon_programme).

Là tu as donc trois choses à faire :
- chercher où a été installé GCC 4.7
- vérifier que le chemin est bien absent de la variable PATH
- ajouter le chemin à la variable PATH

1. Si tu as un outil MacOS pour rechercher rapidement sur ton disque dur (Spotlight ?), cherche la chaîne "gcc".
Sinon, tape dans un terminal :
Cette commande doit te retourner plusieurs chemins, dont un qui correspond à ton GCC 4.7.

2. Vérifie que le chemin vers GCC 4.7 ne se trouve pas dans ton PATH.
Tu vas avoir une liste de chemins séparés par des ":" : le chemin que tu as trouvé dans 1. ne doit pas en faire partie (sinon c'est qu'il y a un souci).

3. Ajoute le répertoire qui contient le programme gcc-4.7.kekchose au PATH.
Regarde si tu as un fichier dont le chemin est "~/.bashrc" ou "~/.bash_profile".
Ouvre-le et ajoute à la fin :
Code :
export PATH="/le/répertoire/trouvé/en/1:$PATH"

Une fois que c'est fait, ouvre un nouveau terminal et tape :
__________________
"Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux."
alexrtz est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/10/2012, 00h05   #9
flo2708
Invité de passage
 
Homme Florent Prohouly
Étudiant
Inscription : octobre 2012
Messages : 11
Détails du profil
Informations personnelles :
Nom : Homme Florent Prohouly
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2012
Messages : 11
Points : 3
Points : 3
Citation:
Envoyé par rurouni alex Voir le message
Non, g++-4.7.0 est le nom de la commande.
Le port install a installé gcc dans un répertoire qui n'est pas dans ton PATH.
Le PATH est une variable d'environnement qui dit au shell où celui-ci doit chercher les programmes.

Si dans ton PATH tu as "/bin:/usr/bin" et que tu installes un programme dans /usr/local/bin, tu ne pourras pas appeler ce programme en ligne de commande sans entrer son chemin complet (/usr/local/bin/mon_programme).

Là tu as donc trois choses à faire :
- chercher où a été installé GCC 4.7
- vérifier que le chemin est bien absent de la variable PATH
- ajouter le chemin à la variable PATH

1. Si tu as un outil MacOS pour rechercher rapidement sur ton disque dur (Spotlight ?), cherche la chaîne "gcc".
Sinon, tape dans un terminal :
Cette commande doit te retourner plusieurs chemins, dont un qui correspond à ton GCC 4.7.

2. Vérifie que le chemin vers GCC 4.7 ne se trouve pas dans ton PATH.
Tu vas avoir une liste de chemins séparés par des ":" : le chemin que tu as trouvé dans 1. ne doit pas en faire partie (sinon c'est qu'il y a un souci).

3. Ajoute le répertoire qui contient le programme gcc-4.7.kekchose au PATH.
Regarde si tu as un fichier dont le chemin est "~/.bashrc" ou "~/.bash_profile".
Ouvre-le et ajoute à la fin :
Code :
export PATH="/le/répertoire/trouvé/en/1:$PATH"

Une fois que c'est fait, ouvre un nouveau terminal et tape :
Merci beaucoup pour cette réponse, c'est vraiment bien détailler et expliquer, juste quand je cherche avec find / -name "gcc*" en console, j'ai vraiment beaucoup de chemin, comment trouver celui qu'il me faut, c'est à dire le GCC 4.7 ?
flo2708 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2012, 10h58   #10
flo2708
Invité de passage
 
Homme Florent Prohouly
Étudiant
Inscription : octobre 2012
Messages : 11
Détails du profil
Informations personnelles :
Nom : Homme Florent Prohouly
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2012
Messages : 11
Points : 3
Points : 3
J'ai vu avec mon prof chargé de TP de parrallélisme ce matin et en fait c'était semble-t-il normal, car si je tape "gcc-mp-4.7 --version" en console, j'ai bien le gcc 4.7 et pour compiler il suffit d'utiliser ce gcc-mp-4.7 et non juste "gcc" qui est le gcc 4.2
Donc c'est reglé pour moi.
flo2708 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h26.


 
 
 
 
Partenaires

Hébergement Web