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

MinGW Discussion :

Problème MINGW32 / Msys


Sujet :

MinGW

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut Problème MINGW32 / Msys
    Bonjour,

    J'ai récemment installer msys et MINGW afin de compiler des projets cpp.

    Mon problème est le suivant :
    -Quand je récupère des fichiers sources sur internet, je n'ai pas de problème
    pour les compilé avec la commande make.
    -En revanche quand je crée mon propre fichier .cpp, que je l'édite, je ne dispose alors d'aucun fichier makefile.mingw, et autres fichier indispensable, et je ne peut donc pas compiler mon fichier pour obtenir l'executable.

    Pouvez vous m'expliquer comment je doit faire ??

    Merci

    PS : désolé si ce topic n'est pas dans la bonne rubrique, je ne savait pas trop où le mettre

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Ce n'est pas le compilateur qui va te générer le fichier makefile.mingw. Si tu démarres un projet, c'est à toi de dire au compilateur le processus de compilation; donc d'écrire le fichier makefile.mingw. Pour chacunes des sources que tu as téléchargé, quelqu'un avait pris la peine d'écrire un Makefile pour MinGW.

    Maintenant, tu as plusieurs solutions :
    • utiliser un IDE ; la génération du fichier makefile.mingw (ou Makefile de manière classique) est transparente
    • utiliser des solutions de génération de Makefile en écrivant des fichiers dont la syntaxe est plus simple que celle d'un Makefile
    • si ton projet est petit, écrire le Makefile à la main
    • si tu n'as qu'un fichier .cpp, même un Makefile c'est du luxe, tu peux taper la ligne de compilation directement

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut
    hey,

    merci d'avoir répondu si vite,
    pourrai tu me préciser l'utilisation d'un IDE, devcpp faire t'il l'affaire, et dans ce cas la comment je l'utilise, le but n'étant pas de compiler le projet sous devcpp.
    Si j'utilise mingw pour compiler c'est parce que c'est la solution la plus simple pour les projets ode.

    Donc que doit-je faire avec l'IDE?
    ai-je la possibilité de créer mon projet / fichier .cpp et de ne généré que le makefile??

    si tu n'as qu'un fichier .cpp, même un Makefile c'est du luxe, tu peux taper la ligne de compilation directement
    je ne connait pas la ligne de commande.

    Merci sinon pour tes précisions je vais voir ce que je peut faire avec

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    De souvenir, Dev C++ doit générer un Makefile avant de compiler. Certes, tu auras un Makefile mais il sera sûrement difficilement lisible (comme tous les trucs générés).

    Sinon, tu peux commencer à regarder l'écriture d'un Makefile. C'est simple mais ce serait trop long à expliquer ici.

    Mais on remarque qu'au bout d'un moment, quand le projet devient conséquent, ça devient fastidieux. On passe alors à des solutions de plus haut niveau.

    Sinon, la ou les commandes pour un fichier .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    g++ -c file.cpp         # compilation
    g++ -o file.exe file.o  # édition de liens
    qui se condense en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    g++ -o file.exe file.cpp
    Mais il peut-être nécessaire d'agrémenter ces commandes de flags d'options supplémentaires. Typiquement, -Wall pour les warnings, -I pour inclure des répertoires, -L pour indiquer où se trouve les librairies et -l pour linker contre une librairie.

    Je t'encourage à rechercher des renseignements sur la compilation ainsi que sur les Makefiles si tu veux écrire des Makefiles propres pour MinGW.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 64
    Par défaut
    merci pour c'est précisions,
    j'ai essayé les lignes de commandes mais ça ne marche pas,
    cela est du à l'absence de fichier makefile je pense...

    Dans ce cas la il n'y a aucun logiciel qui pourrai me generer un fichier makegile.minfw??

    Je vais devoir me mette à la programmation de fichier makefile.

    Encore merci

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    j'ai essayé les lignes de commandes mais ça ne marche pas
    Dans un shell MSYS ? Parce que sinon, ça n'a rien d'étonnant.

    cela est du à l'absence de fichier makefile je pense...
    Aucun rapport. Le Makefile permet d'automatiser ces lignes de commande. Mais si les lignes de commande ne marche pas, ce n'est pas la peine d'accuser le Makefile.

    Dans ce cas la il n'y a aucun logiciel qui pourrai me generer un fichier makegile.minfw??
    Tout d'abord, le nom classique est Makefile. makefile.mingw indique juste que le makefile a été écrit spécifiquement pour MinGW.
    Comme je te l'ai dit, certains IDEs générent des Makefiles mais ils ne sont peut-être pas forcément aisément exploitables à la main en dehors de l'IDE et sinon il y a des solutions qui permettent de simplifier l'écriture d'un Makefile.

    Je vais devoir me mette à la programmation de fichier makefile.
    On ne peut pas vraiment parler de programmation. Si tu tiens à délivrer un fichier Makefile.mingw avec ton projet et que celui-ci n'est pas encore très gros, tu peux effectivement d'y mettre mais il faudrait aussi que tu regardes la façon de compiler en ligne de commande. C'est indispensable pour écrire un Makefile.

    pourrai tu me préciser l'utilisation d'un IDE, devcpp faire t'il l'affaire, et dans ce cas la comment je l'utilise, le but n'étant pas de compiler le projet sous devcpp.
    Si j'utilise mingw pour compiler c'est parce que c'est la solution la plus simple pour les projets ode.
    Je ne te suis pas sur tout ton propos. Sache que le compilateur par défaut de devcpp est le compilateur gcc de MinGW.

Discussions similaires

  1. Réponses: 15
    Dernier message: 20/12/2006, 16h56
  2. Problême compilation GNU GCC mingw32, Vista, cc1plus introuvable
    Par dino86 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 11/10/2006, 18h19
  3. Problème de lien avec wsock32.dll sous g++ (mingw32)
    Par TheShadow dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 11/04/2006, 14h43
  4. Problème d'installation d'application ".msi"
    Par maddog2032 dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 16/09/2005, 11h31
  5. [problème installation MSI postgresql]
    Par viny dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 09/08/2005, 11h37

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