Code C++

Résolu
kernel -  
 kernel -
Bonjour,
j'ai un fichier .cpp mais je n'arrive pas à le build&run et lorsque j'essaye je n'ai aucune réponse du logiciel, même pas dans les Messages d'erreur. Je ne comprends pas.

5 réponses

  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut kernel,

    1.

    Tout d'abord, vérifie que tu as bien téléchargé et installé Codeblocks avec le compilateur MinGW (il y a une version sans compilateur, et une version avec compilateur).

    Dans le doute, désinstalle ta version, et installe celle accessible par ce lien (version actuelle codeblocks-12.11mingw-setup.exe) :

    http://www.codeblocks.org/downloads/26

    ou, directement par ce lien :

    https://www.commentcamarche.net/telecharger/developpement/6161-code-blocks/

    2.

    Puis :

    Create new project - Console application - Next - C++ - Project title "simulator" - Next - GNU GCC Compiler - Finish

    Dans l'arborescence de gauche, sous Simulator - Sources - double clique sur main.cpp

    Efface tout, copie colle ton code et sauvegarde : File - Save.

    Build - Build

    Cela devrait te créer l'exécutable simulator.exe (avec des warnings, mais sans erreurs de compilation) dans le répertoire "Debug" ou "Release" en fonction de la cible de compilation que tu as choisie.

    Dal
    2
    1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      Ton problème peut aussi être que ton programme est un programme console, et qu'il est visiblement conçu pour s'exécuter en ligne de commande avec un argument en ligne de commande (pas simplement en double cliquant dessus, sinon, tout ce que tu verras, c'est une fenêtre s'afficher et se fermer trop rapidement pour voir quoi que ce soit, indiquant que tu dois le lancer avec un argument).

      1.

      Donc, il te faudra, pour lancer l'exécutable créé par la compilation, ouvrir une console Windows, te déplacer dans le bon répertoire, et exécuter le programme à la ligne de commande avec l'argument demandé.

      Par exemple :

      simulator test.txt

      2.

      Ou, si tu es perdu en ligne de commande, tu peux te débrouiller pour faire l'équivalent sous Codeblocks.

      Aller dans Project - Set program's arguments... - Program arguments : taper "test.txt"

      Build - Build et si tout va bien Build - Run

      Lorsque le programme aura terminé, le fichier test.txt sera créé sous le répertoire de ton projet Codeblocks (pas Debug).


      Dal
      0
    2. kernel
       
      Maintenant j'ai une console avec "Usage : outputfilename".
      Dois-je insérer le nom de fichier que je désire ?
      0
    3. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      OK, cela veut dire que tu as pu compiler le programme et l'exécuter (mais que tu n'as pas encore mis d'argument d'exécution).

      "Debug" et "Release" sont des cibles de compilation différentes.

      - "Debug" est utilisé tant que ton programme est en développement et que tu as besoin de le compiler avec des options de compilation incluant des informations utiles au débogueur,
      - "Release" quand tu veux générer un exécutable à taille plus réduite, ne comprenant pas ces données, et plus optimisé.

      Pour toi, si tu te contentes de lancer le programme depuis Codeblocks, cela ne fera pas une réelle différence, choisis, par exemple "Debug". Puis vérifie juste que tu sélectionnes bien la même cible de compilation dans "Build target" (dans la drop-box sous le menu général, à côté des icônes de compilation), donc dans cet exemple "Debug" (qui devrait d'ailleurs être la sélection par défaut, à moins que tu l'aies changée).


      Dal
      0
    4. kernel
       
      ça n'a pas l'air de fonctionner car le fichier test.txt m'affiche ceci :
      2 10 -2147483648 0
      3 10 -2147483648 0
      4 10 -2147483648 0
      5 10 -2147483648 0
      6 10 -2147483648 0
      7 10 -2147483648 0
      8 10 -2147483648 0
      9 10 -2147483648 0
      10 10 -2147483648 0
      Et ça jusqu'à 200.
      0
    5. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
       
      J'ignore ce qui te fait dire que "ça n'a pas l'air de fonctionner".

      Le code prend un nom de fichier en argument, effectue des calculs sur la base des paramètres inscrits en dur dans le code, et produit un fichier avec le résultat de ces calculs. Pour moi, il a "l'air de fonctionner", au contraire.

      Maintenant, si le code source ne fait pas ce qu'il est sensé faire, alors que tu l'utilises comme il est sensé être utilisé, tu ne peux que t'en prendre au concepteur du code, ou tenter de le corriger toi même, si tu comprends ce qu'il est sensé faire et la raison pour laquelle il ne le fait pas. Une autre possibilité est que tu doives adapter les paramètres définis en dur dans le code pour lui faire faire ce que tu attends qu'il fasse.

      C'est, en tout cas, des questions différentes de celle que tu as posée dans le présent fil de discussion, et qui me semble "résolue" quant à elle.


      Dal
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    Bonjour,

    Si tu peux nous en dire un peu plus sur le fichier que tu tentes de compiler, et comment tu le compiles, on pourra sans doute t'aider. Mais en l'état ton message est beaucoup trop vague pour que ce soit le cas...

    Bonne chance
    1
  3. kernel
     
    Mon problème de compilation vient peut-être du fait que je ne sais pas quel Template utilisé, alors je te joins le fichier car je ne sais pas quoi vous dire de plus.
    Merci d'avance.

    Lien :
    http://cjoint.com/data3/3Eup0yDCoKp_simulator.cpp
    0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
     
    Chez moi ça compile en tout cas avec g++.

    Du coup je ne sais pas trop quoi te dire, c'est peut-être ton compilateur ou ton logiciel de développement qui a un problème...

    Bonne chance
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kernel
     
    Quelles sont les configurations a effectué ?
    Je suis sous codeblocks :/
    0
    1. JwTdd
       
      Salut, si tu veux voir ou sont les erreurs evites le run&build, fait dans l'ordre , clean, build puis run tout en regardant dans build log a chaques etapes ou ça coince. Parceque si tu fait run & build tu ne verra que les log de la tentative de "run" de l'executable qui n'existe pas..
      Quand au template tu dois utiliser "console application".
      0
    2. kernel
       
      comment sait-on quel template utilisé ?
      0
    3. JwTdd
       
      sur windows on n'utilise que console, empty project , dynamic link library, shared library, static library. Tout le reste, ça ne fonctionne pas...
      0
    4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 943
       
      Quelles sont les configurations a effectué ?

      Personnellement je suis sous linux et j'ai juste lancé :

      g++ simulator.cpp


      ... et ça a marché. Donc pas de configuration particulière.
      0