Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les sources de l'erreur "undefined reference to"

Sujet résolu
    27 septembre 2013 à 13:11:42

    Après avoir rencontré beaucoup de difficulté avec l'érreur précitée, j'aimerai être éclairé sur ses différrente causes. merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      27 septembre 2013 à 13:37:17

      Cette erreur est très simple, mais fréquente chez le débutant !

      On la rencontre très souvent sur les fonctions, la fonction est bien déclarée, donc la compilation est effectuée, mais le problème se trouve au moment de l'édition des liens, le linker ne trouve pas la définition de la fonction !

      Il ne la trouve pas soit parce qu'elle n'est pas définie ou le plus fréquent c'est que le fichier objet issus d'un code d'un fichier séparé (code source ou lib) n'est pas envoyé au linker, il n'en connait donc pas l'existence.

      • Partager sur Facebook
      • Partager sur Twitter
        27 septembre 2013 à 14:02:10

        L'erreur, c'est que l'éditeur de liens n'arrive pas à trouver le symbole référencé dans les fichiers objets qui lui sont passés.

        Deux cause principales:

        1. Projet mal configuré, des fichiers nécessaires ne sont pas compilés.

        2. Mélange de C et C++ sans utiliser les conventions nécessaires (extern "C").

        • Partager sur Facebook
        • Partager sur Twitter
          27 septembre 2013 à 15:17:31

          J’explique en détail l’erreur dans ma bio.

          • Partager sur Facebook
          • Partager sur Twitter
          Zeste de Savoirbépocode minimal  — Ge0 <3
            14 octobre 2013 à 12:22:14

            Lucien63 a écrit:

            Cette erreur est très simple, mais fréquente chez le débutant !

            On la rencontre très souvent sur les fonctions, la fonction est bien déclarée, donc la compilation est effectuée, mais le problème se trouve au moment de l'édition des liens, le linker ne trouve pas la définition de la fonction !

            Il ne la trouve pas soit parce qu'elle n'est pas définie ou le plus fréquent c'est que le fichier objet issus d'un code d'un fichier séparé (code source ou lib) n'est pas envoyé au linker, il n'en connait donc pas l'existence.


            Oui mais comment expliquer que la compilation et l'exécution se fait normalement 5 à 10 fois et ensuite, sans que je ne comprenne pourquoi(manque d'expérience probablement), le programme plante en invoquant cette erreur détestable. Merci déjà pour vos réponses qui m'éclairent beaucoup.;)
            • Partager sur Facebook
            • Partager sur Twitter
              14 octobre 2013 à 12:50:13

              Tu dis que tu as cette erreur à l’exécution et pas à la compilation ? Tu compiles comment ?

              • Partager sur Facebook
              • Partager sur Twitter
                24 octobre 2013 à 12:47:16

                a5er a écrit:

                Tu dis que tu as cette erreur à l’exécution et pas à la compilation ?
                Tu compiles comment ?


                T'as pas bien compris j'ai dit que l'ai à la compilation mais après avoir compilé pluisieurs fois de suite sans erreur. merci pour ta réponse c'est vraiment sympa.
                • Partager sur Facebook
                • Partager sur Twitter
                  28 octobre 2013 à 9:48:25

                  Salut à tous et merci pour vos réponses. Merci surtout à simbilou et à nepser car c'est grâce à leurs bios que je suis venu à bout de cette erreur .                Pour récapituler elle est causée par:

                  -Un mélange entre C et C++( usage de fichiers .cpp pour un programme en C).

                  -une erreur de parametrage du linker.

                  etc...

                  Merci à tous et à plus. ;)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Les sources de l'erreur "undefined reference to"

                  × 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