Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur LNK2112, SFML, symbole non résolu

    16 septembre 2021 à 16:43:30

    Avant toute chose, s'il manque quelque chose qui vous serait utile à la résolution de ce problème, merci de m'en informer aimablement !

    ________________________________________________________

    Bonjour la communauté de l'ann... *uhm* d'openClassroom.

    J'ai UNE erreur au niveau de symbole non résolu. Je vais vous exposer mon code, les propriétés ainsi que l'erreur en question :

    Code (via Github) :

    https://github.com/Haulun/George/compare/dev?expand=1

    Linkers (au cas où ça vous serait utile) : 

    Output :

    Cordialement.

    Haulun

    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2021 à 19:04:29

      Le message d'erreur est assez explicite.

      Mais faut savoir comment fonctionne le linker pour le comprendre.

      Il doit quand même manquer pas mal d'informations que votre copie d'écran (pensez à donner le texte des erreurs sans passer par une copie d'écran mais en texte "brut", SVP) nous cache.

      Le plus probable, c'est une "désynchronisation" entre les fichiers headers que vous utilisez à la compilation et les .lib que vous utilisez à l'édition de lien.

      Vérifiez avec un outil type DUMPBIN que l'une de vos librairies exporte bien précisément la fonction indiquée (ce qui est très peu probable, sauf erreur de configuration de votre environnement).

      P.S.: Je sais que les precompiled header font gagnés du temps, mais je pense qu'avoir au moins vos fichiers d'en-tête qui tiennent tout seul (sans avoir à utiliser stdAfx.h) ça serait bien plus claire et éviterait des peaux de banane quand les librairies "évoluent" sans que vous vous en rendiez compte. Un peu comme votre problème d'édition de lien actuelle.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        16 septembre 2021 à 19:24:58

        Alors, merci pour cette réponse, cependant je ne sais pas comment utilisé l'outil DUMPBIN et je n'ai pas compris le "P.S" :euh:

        Est-ce possible d'avoir de plus amples informations ?

        Cordialement

        • Partager sur Facebook
        • Partager sur Twitter
          17 septembre 2021 à 11:31:01

          >cependant je ne sais pas comment utilisé l'outil DUMPBIN

          o_O

          RTFM

          dumpbin /?

          et Google est ton ami, aussi.

          Vous devez juste vérifier les noms des fonctions "exportées" par la/les librairie(s) sensée(s) avoir l'implémentation des fonctions "non résolue".

          Si elle(s) les export(ent), c'est que votre environnement de compilation est mal configuré et qu'il choppe une autre librairie ne correspondant pas à la version de vos fichiers d'en-tête ou à la configuration (DEBUG,RELEASE,....) qui "modifie" le contenu de vos fichiers d'en-tête.

          Si elle(s) ne les export(ent) pas, si c'est des fonctions que vous appelez directement depuis votre code, c'est que les fichiers d'en-tête de SFML ne correspondent pas à cette lib (pas la même version/ pas la même configuration (DEBUG,RELEASE,...)), si ce n'est pas une fonction appelée directement depuis votre code, c'est que les fonctions 'inline" dans les fichiers d'en-tête ne correspondent à la cette librairie (idem pas la même version ou pas la même configuration).

          En gros, vous manquez de rigueur dans la configuration de votre environnement de développement. Évitez de mélanger les versions et les configurations.

          Cela me fait venir à mon "P.S.", si vous n'êtes pas rigoureux avec vos environnements de développement, l'utilisation de precompiled headers est délétère car beaucoup des indices qui permettent de détecter ces problèmes de rigueur sont caché par l'utilisation des precompiled headers, rendant leur diagnostique plus complexe.

          Donc, si vous ne comprenez pas mon "P.S.", désactivez les precompiled headers FISSA.

          Si vous n'y comprenez rien, recréez un projet en les désactivant explicitement et donc plus de "StdAfx.cpp" et autre "StdAfx.h".

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

          erreur LNK2112, SFML, symbole non résolu

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown