Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur Code::Blocks

Sujet résolu
    30 novembre 2018 à 23:13:46

    Bonjour. Je viens de commencer le cours sur le c++ mais quand je lance le premier programme avec le message "Hello world!" ça ne marche pas. Ça me marque dans la zone de notification :

    Tried to run compiler executable 'C:\MinGW/bin/mingw32-gcc.exe', but failed!

    Skipping...
    Nothing to be done (all items are up-to-date).

    Quelqu'un peut m'aider s'il vous plait? Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      1 décembre 2018 à 8:13:22

      Salut,

      Tout simplement car tu utilises le mauvais compilateur, en l’occurrence ici le compilateur gcc c'est pour compiler un programme en langage C.

      Pour compiler un programme en C++, il te faut g++, et non pas gcc. Donc forcément, le compilateur n'est pas très coopérant.

      -
      Edité par Galak1802 1 décembre 2018 à 8:13:41

      • Partager sur Facebook
      • Partager sur Twitter

      Technicien informatique, Brevet de technicien supérieur Système Numérique.

        1 décembre 2018 à 11:34:52

        Bonjour. Et comment je modifies ça ?
        • Partager sur Facebook
        • Partager sur Twitter
          1 décembre 2018 à 11:52:51

          Je connais pas trop Code::Blocks, mais on voit qu'il va piocher dans MINGW le mauvais compilateur, tu créé bien un projet en C++ ?

          Dans le dossier bin de MINGW, tu as normalement le compilateur mingw32-g++.exe fourni directement avec Code::Blocks, si tu créer bien un projet en C++, je vois pas pourquoi il utiliserais le mauvais compilateur ? :o

          • Partager sur Facebook
          • Partager sur Twitter

          Technicien informatique, Brevet de technicien supérieur Système Numérique.

            1 décembre 2018 à 12:05:32

            J'arrive pas à insérer une image pour demander parce que je demendes si ça viendrai pas de quand on crée un nouveau projet.

            This file is not a valid image.

            • Partager sur Facebook
            • Partager sur Twitter
              1 décembre 2018 à 12:18:07

              ??

              Oui je pense que c'est cela, en fait quand tu créé un projet sous Code::Blocks, il doit simplement piocher dans MINGW le bon compilateur, en l’occurrence ici si tu créé un projet C++, il doit prendre le compilateur mingw32-g++.exe

              Donc tu t'es pas simplement trompé en créant ton projet?

              • Partager sur Facebook
              • Partager sur Twitter

              Technicien informatique, Brevet de technicien supérieur Système Numérique.

                1 décembre 2018 à 12:26:01

                Please select the language you want to use. Please make a selection. J'ai mis c++ mais c'était déja dessus de base.

                Please select the folder where you want the new project to be created as well as its title. C'est fait.

                Please select the compiler to use and which configurations you want enabled in your projet. Compiler: GNU GCC Compiler (comme lui dans son cours). Et de base c'était coché create "Debug" configuration: Debug      et      Create "Resease" configuration: Release      et j'ai laissé coché. Je me demande si ça viens pas que j'ai coché les deux. Là tu verras ce que j'ai suivis : https://openclassrooms.com/fr/courses/1894236-programmez-avec-le-langage-c/1894601-les-logiciels-necessaires-pour-programmer

                • Partager sur Facebook
                • Partager sur Twitter
                  1 décembre 2018 à 13:01:33

                  Non, je pense pas que ce soit le fait que tu coches les deux cases.

                  Dans "settings" puis dans "compiler" et enfin dans l'onglet "toolchain executables"

                  Ce serait cool que tu vérifie que ce soit comme ça, que le compilateur c++ soit bien configuré comme ceci :

                  Si tout est bien configuré comme cela, mais que le compilateur pris pour compiler tes fichiers n'es toujours pas le bon, alors je pense que je ne pourrais pas plus t'aider, il faudra voir avec quelqu'un qui s'y connais mieux, désolé de pas pouvoir plus t'aider.

                  -
                  Edité par Galak1802 1 décembre 2018 à 13:05:47

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Technicien informatique, Brevet de technicien supérieur Système Numérique.

                    1 décembre 2018 à 14:18:59

                    C'est tout pareil sauf compiler's installation directory c'est pas D:\CodeBlocks\MinGW c'est C:\MinGW

                    -
                    Edité par Twilatson 1 décembre 2018 à 14:37:58

                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 décembre 2018 à 14:55:58

                      Ahhh, mais sinon, tout est pareil?

                      Tu peux pas essayer de changer la direction d'installation de MINGW et prendre celle fourni avec Code::Blocks?

                      Dans ton dossier Code::Blocks normalement il y a un dossier MINGW, essaye peut-être de spécifier ce chemin, mais si le reste est identique je ne pense pas que ça changera grand chose... Enfin bon, ce que tu peux faire c'est cliquer sur le bouton Auto-detect juste sur le côté, si le chemin change bien tu verras, ça fonctionnera peut-être après.

                      C'est vraiment bizarre, c'est peut-être quelque chose de simple, mais la je ne vois pas, j’espère que quelqu'un saura t'aider, essaye peut-être de fournir plus d’élément et vraiment des captures d'écrans si tu peux, personnellement je ne vois pas pourquoi c'est le mauvais compilateur qui compile car Code::Blocks semble être correctement configuré.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Technicien informatique, Brevet de technicien supérieur Système Numérique.

                        1 décembre 2018 à 16:19:01

                        Yes ça marche !

                        J'ai cliqué sur Auto-detect et ça a changé ça m'a affiché C:\Program Files (x86)\CodeBlocks\MinGW

                        Merci beaucoup !!

                        Je vais pouvoir continuer le cours !! :ange:

                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 décembre 2018 à 16:51:26

                          Ah c'est cool ça vraiment, je me doutais bien qu'en faisant auto-detect il allait prendre celui de Code::Blocks :)

                          Content d'avoir pu t'aider, bonne continuation.

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Technicien informatique, Brevet de technicien supérieur Système Numérique.

                            1 décembre 2018 à 17:03:42

                            Hello,

                            Juste une chose, la version du compilo' fourni par défaut avec C::B est obsolète (version 5.1 ou 5.3 il me semble), datant de 2015.

                            Actuellement la dernière release est la 8.2 (et la 9.0 est en développement).

                            -
                            Edité par Guit0Xx 1 décembre 2018 à 17:34:33

                            • Partager sur Facebook
                            • Partager sur Twitter

                            ...

                              1 décembre 2018 à 18:24:26

                              C'est un détail intéressant, SebDestructeur peut toujours retélécharger la version la plus récente de MINGW et ainsi mettre le chemin spécifié qui y mène dans toolchain executables, puis après voir si les réglages sont bons.

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Technicien informatique, Brevet de technicien supérieur Système Numérique.

                                1 décembre 2018 à 21:24:58

                                Je ne sais pas comment on fait pour l'installer. Mais de toute facon c'est pareil non ? Il vaut mieux que j'ai le même que celui dans le cours non?

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 décembre 2018 à 22:17:05

                                  Bah en fait, le cour de C++ est un peu obsolète sur OC, mais néanmoins je te conseille quand même de suivre celui d'OC parce qu'il est super bien pédagogiquement parlant.

                                  Si parfois tu rencontres des parties obsolètes dans le cour, pas grave, tu trouveras tes réponses sur le forum, le cour est vraiment bien foutu et pour se mettre la tête dedans je le trouve vraiment bien, surtout quand on arrive sur la POO qui est assez complexe.

                                  Sinon :

                                  -
                                  Edité par Galak1802 1 décembre 2018 à 22:17:35

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Technicien informatique, Brevet de technicien supérieur Système Numérique.

                                    1 décembre 2018 à 22:38:51

                                    Pour l'instant le site me suffit largement mais merci quand même. J'apprends par étape comme c'est fait. Et je suis à fond dedans je m'éclate. C'est super intéressant et c'est trop bien expliqué du coup je comprends super bien. C'est super captivant comme c'est expliqué. C'est ce que j'ai écris dans mon commentaire qu'on peut faire à la fin du troisième chapitre. Je suis trop pressé de faire mon premier programme fenêtre et mon premier jeu mais comme je l'ai dit il ne faut pas bruler les étapes et tricher avec copié collé, et je le sais justement.

                                    -
                                    Edité par Twilatson 1 décembre 2018 à 22:45:29

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      1 décembre 2018 à 23:02:57

                                      Le cours du site est certes pédagogique, mais il apprend un sacré paquet de connerie.

                                      Il te fera prendre des mauvaises habitudes qui seront difficiles à perdre par la suite. Sans parler des concepts foireux et de la dangerosité de certaines choses dans ce cours (je pense notamment à la partie sur les pointeurs "sauvages").

                                      -
                                      Edité par Guit0Xx 1 décembre 2018 à 23:05:54

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      ...

                                        1 décembre 2018 à 23:15:37

                                        OK. Il y a quoi comme mauvaises habitudes qu'il donne ? Et il y a quoi de faux qu'il donne ?

                                        -
                                        Edité par Twilatson 1 décembre 2018 à 23:16:15

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          2 décembre 2018 à 0:10:44

                                          Tu veux quelques exemples ? En voici :

                                          using namespace std est une mauvais pratique (voir ici pourquoi)

                                          - Les tableaux statiques utilisé sont tirés du C, un exemple :

                                          int myArray[5]; // Array C-Style
                                          std::array<int, 5> myArray{}; // Array C++

                                          - L'aléatoire utilisé dans le cours (cf srand()) vient du C. En C++ on utilise <random>.

                                          - Le chapitre sur les pointeurs ne devrait pas se trouver en début de cours, il devrait seulement se trouver en annexe pour savoir qu'ils existent. Faut savoir que les pointeurs sauvage (new/delete) sont une source de problème considérable dans un programme. Depuis un petit moment déjà en C++ on utilise 99% du temps ce qu'on appelle les pointeurs "intelligents" (principalement unique_ptr et shared_ptr). Ces pointeurs spécialisés s'occupent de gérer la libération de mémoire à notre place et facilite grandement la vie, ce qui permet d'avoir un programme plus robuste.

                                          - L'exemple utilisé pour introduire les classes (à savoir le pseudo RPG) est une grande bêtise. Si tu penses pouvoir réaliser un RPG de la manière qui est inculquée dans ce cours, tu peux toujours courir ;).

                                          - Le chapitre sur Qt ne devrait pas se trouver dans le cours, cela devrait être un cours à part entière. Prendre en main Qt n'est pas à la portée d'un débutant, il faut des bases bien solide pour savoir utiliser correctement cette API.

                                          - Le cours te parle de foncteurs (qui sont très peu utilisés si je ne m'abuse) et il oublie les lambdas (quelque chose de vraiment important dans l'utilisation des algorithms C++).

                                          - Le cours est basé du C++98/03 (donc du C++ d'il y a plus ou moins 15-20 ans), depuis la norme a beaucoup évolué.

                                          - J'en ai certainement oublié

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          ...

                                            2 décembre 2018 à 0:35:08

                                            Ah ok. Et les deux sites expliquent bien?
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              2 décembre 2018 à 0:38:13

                                              Si tu parles des 2 sites proposés par @Galak1802, oui ;).

                                              Juste celui de Guillaume Belz est en cours d'écriture mais déjà bien complet et à jour. Celui de zeste de savoir, je ne l'ai pas lu mais il a déjà été recommandé par plusieurs personnes du fofo, et visiblement c'est un bon cours aussi.

                                              -
                                              Edité par Guit0Xx 2 décembre 2018 à 0:41:16

                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              ...

                                                2 décembre 2018 à 8:00:04

                                                Les deux sites proposées sont la référence on va dire, mais si tu débute il faudra t'accrocher un peu plus et relire bien les cours, car je trouve que ce n'es pas aussi bien vulgarisé que sur OC.

                                                Ce serait cool qu'ils mettent ce fichu cour à jour quand même :-°

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                Technicien informatique, Brevet de technicien supérieur Système Numérique.

                                                  2 décembre 2018 à 11:00:31

                                                  Bonjour. Désolé j'ai du aller me coucher.

                                                  J'ai une dernière question.

                                                  1. Pourquoi il ne modifient pas le cours puisqu'il y a des erreurs ?

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    2 décembre 2018 à 11:10:13

                                                    Ce n'es pas réellement ce que l'on peut considérer comme des "erreurs", c'est simplement que c'est obsolète, vieux, pas mis à jour.

                                                    Et pourquoi, je ne sais pas, peut-être par manque de temps.

                                                    Ecrire un cour comme celui-ci demande un investissement de temps important.

                                                    -
                                                    Edité par Galak1802 2 décembre 2018 à 11:10:44

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Technicien informatique, Brevet de technicien supérieur Système Numérique.

                                                      2 décembre 2018 à 11:12:49

                                                      Mais pourquoi il a mis des choses de C alors que c'est du C++?
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        2 décembre 2018 à 11:17:06

                                                        Parce que pour faire simple et pour vulgariser, le langage C++ est un héritier du langage C.

                                                        En gros :

                                                        Le langage C++ est un langage C auquel on a rajouté des fonctionnalités, c'est un C amélioré, n'ayons pas peur des mots.

                                                        D'ailleurs tu sais pour un incrémenter une variable, par exemple i, on utilise i++;

                                                        Et bien la je sais pas si tu as remarqué mais c'est pareil, C++, c'est pour dire que ça vient du C, mais que c'est amélioré, incrémenté, donc la plupart des fonctionnalités utilisés en C fonctionne en C++.

                                                        Voilà :)

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Technicien informatique, Brevet de technicien supérieur Système Numérique.

                                                          2 décembre 2018 à 11:22:12

                                                          Oui il l'avait expliqué dans son premier cours avec l'histoire du C++.

                                                          Ah oui juste où je vais pour installer la dernière version du compilateur ? Comme je vais apprendre sur des sites récents (à jour), il vaut mieux que j'ai la dernière version du compilateur.

                                                          Et par quel site c'est le mieux de commencer ? Ou alors les deux en même temps ? Je lis deux fois le même cours sur les deux sites ?

                                                          -
                                                          Edité par Twilatson 2 décembre 2018 à 11:49:00

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            2 décembre 2018 à 13:40:33

                                                            Mhhh...

                                                            C'est à toi de voir, mais je pense quand même que le cour sur zestedesavoir sera plus à "porter de main".

                                                            L’autre est peu être un peu plus technique et moins intuitif, même si il est de très grande qualité.

                                                            Pour la version du compilateur la plus à jour, c'est ici que sa se passe --> https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Technicien informatique, Brevet de technicien supérieur Système Numérique.

                                                              2 décembre 2018 à 13:42:00

                                                              Ok c'est bon.

                                                              Merci beaucoup à vous deux. Je vais arrêter de lire le cours je vais aller sur les deux sites. À bientôt (sûrement pour une nouvelle question pour apprendre le C++).:)

                                                              -
                                                              Edité par Twilatson 2 décembre 2018 à 13:43:57

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Erreur Code::Blocks

                                                              × 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