Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Invité de passage
    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 : 2
    Points
    2

    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
    Rédacteur
    Avatar de mitkl
    Homme Profil pro Timothée Bernard
    Étudiant
    Inscrit en
    février 2010
    Messages
    364
    Détails du profil
    Informations personnelles :
    Nom : Homme Timothée Bernard
    Âge : 23
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2010
    Messages : 364
    Points : 1 007
    Points
    1 007

    Par défaut

    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 !

  3. #3
    Invité de passage
    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 : 2
    Points
    2

    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 :
    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 : 129
    Points
    129

    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 Confirmé
    Homme Profil pro Pierre
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    1 782
    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 782
    Points : 3 720
    Points
    3 720

    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.
    • La plus sotte des questions est celle qu'on ne pose pas.

    Pour faire des graphes, essayez yEd.

  6. #6
    Invité de passage
    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 : 2
    Points
    2

    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
    Invité de passage
    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 : 2
    Points
    2

    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 Expert Avatar de alexrtz
    Inscrit en
    juin 2003
    Messages
    635
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations forums :
    Inscription : juin 2003
    Messages : 635
    Points : 1 047
    Points
    1 047

    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 :
    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
    Invité de passage
    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 : 2
    Points
    2

    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 :
    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
    Invité de passage
    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 : 2
    Points
    2

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •