Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mingw make, compiler sa IDE

mode d'emploi

Sujet résolu
    19 novembre 2007 à 10:53:04

    Hop hop Bonjour tous !

    Qt m'a l'air tout bien tout beau, pour ce que je peux en faire ^^. Alors zouh, je lis le tuto de matéo... tant qu'à faire je m'achète un bon bouquin (j'ai le droit de mettre un lien vers le livre ?) après avoir lu la doc e qtAssitant histoire d'en faire plus encore.

    Deux secondes.... Qt est plus simplement compilable via CLI ? Bah tant qu'à faire ^^.
    Du coup, j'ai plus besoin de l'IDE !

    Ah mais mince, l'ayant désinstallé, je me rend compte que pour compiler des programmes C/Cpp simples (sans Qt ni rien, juste les standards) ben je sais plus comment faire.
    Ben vi... j'ai plus d'IDE, et je me suis toujours servi de cela.

    la suite qmake -project, qmake et make en fonctionnant pas (ça vire la console), je ne sais pas comment faire.

    Comment compiler juste en CLI un code Cpp (avec une ou plusieurs unités de compilation) ?


    Je sais qu'il faut faire un makefile et utiliser make.
    Mais je ne sais pas faire de makefile (il faut en fait un manuellement ?)

    Pour mieux m'expliquer, si quelqun peut m'aider, voici un exemple de code à compiler, le programme demande un argument à l'appel de la fonction et renvoie directement son carré (j'ai utilisé exprès deux cpp ^^) :

    Compilateur : MinGw (installé dans C:/MinGw)

    square.cpp
    1. double square(double n)
    2. {
    3.         return n * n;
    4. }


    main.cpp
    1. #include <cstdlib>
    2. #include <iostream>
    3. using namespace std;
    4. double square(double);
    5. int main(int argc, char *argv[])
    6. {
    7.         if(argc != 2)
    8.         {
    9.                 cerr << "Usage : square <number>" <<endl;
    10.                 return 1;
    11.         }
    12.         double n = strtod(argv[1], 0);
    13.         cout << "The square of " << argv[1] << "is " << square(n) << endl;
    14.         return 0;
    15. }


    source du code-exemple (le livre du j'ai pas mis le lien ^^).
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      19 novembre 2007 à 11:32:44

      Tout simplement:

      g++ -c square.cpp

      => square.o

      g++ -c main.cpp

      => main.o

      et enfin

      g++ main.o square.o -o square.exe

      => square.exe

      Ca c'était pour compiler "à la main". Maintenant si tu veux un makefile, voici un exemple:

      1. OBJS = main.o square.o
      2. LIBS =
      3. OPTS =
      4. OUT = square.exe
      5. CFLAGS = -Wall
      6. CC = g++
      7. all: $(OBJS)
      8.         $(CC) $(OBJS) -o $(OUT) $(LIBS) $(OPTS)
      9. %.o: %.cpp
      10.         $(CC) -o $@ -c $< $(CFLAGS)


      Ce makefile va compiler tous les fichiers cpp pour créer des .o, et va ensuite linker les .o ensemble pour créer l'exe final.

      Ensuite à toi de renseigner les champs LIBS, OPTS, ... en fonction de ce que tu veux compiler.

      Mais par rapport à Qt, es-tu certain d'avoir tout installé correctement. Je compile des programmes Qt sans IDE depuis plus d'un an et je n'ai jamais eu de problème avec qmake et make...

      • Partager sur Facebook
      • Partager sur Twitter
        19 novembre 2007 à 11:37:22

        Pour les programmes Qt pas de pb. Mais si je veux faire un prog sans Qt du tout, ça marche pas, vu qu'apparement le fichier .pro et du coup le makefile vont rajouter des trucs... enfin vala.

        En tout cas merci, tu m'aides beaucoup.

        EDIT : cependant une petite question plus par curiosité que par utilisé. Moi j'ai utilisé l'invite de commande configuré par Qt, mais en utilisant l'invite de commande seul, g++ n'est poinnt reconnu. Un peu logique mais ça veut dire quoi ? Que je dois me placer dans le dossier de g++ et que je tape le chemin complet de mes fichiers, si j'utilise l'invite seul ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          19 novembre 2007 à 15:49:21

          Oui exactement, mais le plus simple est d'ajouter le répertoire C:\Mingw\bin dans ton PATH (en modifiant les variables d'environnement)

          (clic droit sur Poste de travail -> Avancé -> variables d'environnement)
          • Partager sur Facebook
          • Partager sur Twitter
            20 novembre 2007 à 11:19:05

            Ouech, j'ai trouvé !
            Merci pour ça aussi :p

            ++,
            Oragon
            • Partager sur Facebook
            • Partager sur Twitter

            Mingw make, compiler sa IDE

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown