IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GCC Discussion :

Passer de gcc 4.2 à 4.7


Sujet :

GCC

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 10
    Points
    10
    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.

  2. #2
    Membre éprouvé
    Avatar de mitkl
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2010
    Messages : 364
    Points : 1 081
    Points
    1 081
    Par défaut
    Si c'est comme moi, il s'est amusé à installer gcc dans /usr/local/bin/.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par mitkl Voir le message
    Si c'est comme moi, il s'est amusé à installer gcc dans /usr/local/bin/.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    Mars 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 312
    Points : 176
    Points
    176
    Par défaut
    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

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    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.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    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...

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    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?

  8. #8
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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."

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Options à passer à gcc
    Par corrector dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 20/03/2008, 22h33
  2. [cc et gcc]passer des instructions au compilateur (#pragma)
    Par gangsoleil dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 27/10/2006, 21h57
  3. Passer du Pascal à Delphi
    Par poppels dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2002, 21h07
  4. Passer en mode 800*600
    Par flavien tetart dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/05/2002, 23h05
  5. [Kylix] gcc et kylix
    Par alexsmadja dans le forum EDI
    Réponses: 1
    Dernier message: 28/05/2002, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo