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

 C++ Discussion :

MinGW - une question basique : i686-mingw32-gcc: Command not found


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Par défaut MinGW - une question basique : i686-mingw32-gcc: Command not found
    Bonjour,

    J'ai essayé d'installer MinGW + MSYS en utilisant l'installation Manuelle.

    Mais quand j'essaye de compiler une bibliothèque (bzip2-1.0.5) par exemple. j'obtiens l'erreur suivante
    i686-mingw32-gcc: Command not found.

    Sachant que gcc est bien trouvé en ligne de commande. Que le PATH windows contient bien les 2 répertoire bin de mingw et msys...

    Je suppose que c'est juste une histoire de lien mais si quequ'un pouvait m'éclairer.

    Merci d'avance.

  2. #2
    screetch
    Invité(e)
    Par défaut
    il y a un autre repertoire bin, dans mingw/bin je crois

  3. #3
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 633
    Par défaut
    Salut,

    C'est, de manière quasi certaine, juste un problème au niveau du nom du compilateur dans le Makefile...

    En effet, il est possible de trouver gcc sous différents noms:
    • soit ton compilateur porte, simplement, le nom de gcc (ce qui est, normalement, le cas si tu as pris directement les binaires de mingw)
    • soit le nom du fichier est composé d'un triplet <architecture>-<vendeur>-<os> (par exemple i686-pc-mingw32-gcc, x86_64-w64-mingw32-gcc, i386-pc-linux-gcc, ...), qui est le plus souvent obtenu lorsque l'on effectue une compilation personnelle de Gcc en ayant ajouter l'option " --target=<architecture>-<vendeur>-<os> " sans avoir précisé l'option "--program-prefix="" "lors de la configuration
    Pour les autres projets (par exemple, bzip2, dans ton cas), si tu lance le scripte de configuration sous la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    configure --host=i686-pc-mingw32 --prefix=blabla ...
    le script (qui créera la Makefile) vérifiera la présence du compilateur dont le nom comporte le triplet en question (ici i686-pc-mingw32-gcc) et définira celui-ci comme compilateur à utiliser (ou sortira sur une erreur dés le début de la vérification si le compilateur ne porte pas le nom évalué).

    Il faut noter que toute la chaine d'outils (ld, ar, as, ...) sera considérée comme utilisant les noms composés du triplet en question (AKA: le Makefile utilisera i686-pc-mingw32-ld, i686-pc-mingw32-ar, i686-pc-mingw32-as, etc).

    Si tu as utilisé toi même le script de configuration, tu ne devrais carrément pas avoir de Makefile, à moins que tu n'ait relance msys après la configuration, et que tu n'aies eu, lorsque tu l'a effectuée, dans ta variable PATH un chemin menant vers la version préfixée du compilateur.

    Si tu t'es procuré une version des source de bzip2 dans laquelle le
    • Makefile est présent, tu as deux solutions:
    • rechercher et modifier manuellement les variables CC, AR, AS, LD,... afin de supprimer le triplet en préfixe
    • ou
      1. prendre note des options de compilations qui ont été utilisées pour créer le Makefile
      2. lancer la commande "make distclean" afin de nettoyer le dossier de tout ce qui a trait aux compilation précédentes et les différents Makefile
      3. relancer la commande ./configure avec les même options à l'exception de l'option --host (que tu peux remplacer par l'option --target=i686-pc-mingw32 voire --build=i686-pc-mingw32)
      4. lancer la compilation avec la commande make
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Par défaut
    Merci pour l'information.

    Je n'ai pas récurperer les bin de mingw mais je suis passé par l'installation manuelle.

  5. #5
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 633
    Par défaut
    Citation Envoyé par rubijn Voir le message
    Merci pour l'information.

    Je n'ai pas récurperer les bin de mingw mais je suis passé par l'installation manuelle.
    Oui, mais que tu aies utilisé l'installateur ou que tu aies décompressé le zip/tar.bz2/tar.gz/7z qui contient les exécutables, le principe est le même: les binaires portent des noms sans le triplet i686-pc-mingw.

    Ce triplet s'obtient le plus souvent lorsque tu récupère uniquement les sources et que tu les compile toi même (ce qui est sympa mais qui prend un temps bête )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Par défaut
    Merci.

    J'ai effectivement résolu le problème.
    Mais j'ai encore un soucis (surement trivial)
    J'ai gcc 3.4.5 et j'aimerais installer le 4.2.x (pour compiler la dernière version de ffmpeg). Quelle est la procédure. j'ai essayer de copier remplacer en prennant gcc 4.x.x sur le site de mingw mais gcc --version affiche toujours 3.4.5.

    Merci d'avance.

Discussions similaires

  1. Sudo : command not found ?
    Par nesswaw dans le forum Administration système
    Réponses: 5
    Dernier message: 11/08/2007, 17h51
  2. v4l-info: command not found
    Par Flophx dans le forum Matériel
    Réponses: 1
    Dernier message: 06/05/2007, 00h20
  3. mysql : commande not found
    Par big1 dans le forum Installation
    Réponses: 2
    Dernier message: 02/01/2007, 16h53
  4. Ssh commande not found
    Par marielaure2805 dans le forum Réseau
    Réponses: 3
    Dernier message: 19/10/2006, 12h26
  5. Command not found avec csh
    Par mavina dans le forum Linux
    Réponses: 2
    Dernier message: 25/04/2006, 13h47

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