Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur de compilation en C sous CodeBlocks

Cannot find - lSDLmain

    7 mars 2022 à 19:14:57

    Bonjour, ça fait presque deux mois que je programme en C et je lis le livre de Mathieu Nebra sur le langage.

    Mais tout récemment je me suis confronté à un problème de compilation qui me bloque complètement dans l'avancée du cours. 

    Alors, j'ai fini avec le mode console et maintenant je dois passer à la SDL... J'ai réussi à créer un projet en SDL mais la compilation ne se fait pas et on me renvoit  "ld.exe cannot find -lSDLmain" comme problème. J'ai suivi toutes les solutions évoquées dans le forum mais toujours la même erreur.

    J'espère que vous pourrez m'aider à résoudre ce problème. Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      7 mars 2022 à 20:04:07

      il faut certainement corriger quelque chose.

      Mais comme tu ne nous montre pas tes commandes / paramètres de compilation, on ne peut pas te dire quoi.

      -
      Edité par michelbillaud 7 mars 2022 à 20:04:53

      • Partager sur Facebook
      • Partager sur Twitter
        7 mars 2022 à 20:57:28

        Il y a une forte probabilité que ton projet est en 64 bits et que les fichiers de la sdl que tu envois au linker sont en 32 bits. Il faut que tout soit en 64 bits ou tout en 32 bits mais pas les deux mélangé !

        Une autre possibilité est que tu n'as pas mis le chemin des libs de la sdl dans les options du linker.

        • Partager sur Facebook
        • Partager sur Twitter
        ...
          7 mars 2022 à 21:14:05

          @rouloude

          rouIoude a écrit:

          Il y a une forte probabilité que ton projet est en 64 bits et que les fichiers de la sdl que tu envois au linker sont en 32 bits. Il faut que tout soit en 64 bits ou tout en 32 bits mais pas les deux mélangé !

          Une autre possibilité est que tu n'as pas mis le chemin des libs de la sdl dans les options du linker.

          Pour ce qu'il en est du chemin des liens de la SDL dans l'option linker, j'y ai pensé mais je me retrouve toujours sur le même problème, peut-être que je m'y prends mal

          T'as une idée de comment je peux trouver vérifier la compatibilité des 64 et 32 bits que tu as cité ?



          • Partager sur Facebook
          • Partager sur Twitter
            7 mars 2022 à 23:37:15

            Comme tu dis être sous Code::Blocks, il est fort probable que tu compile avec minGW 64 bits

            En théorie, pour ce qui est de SDL2 les fichiers 32 bits sont dans le dossier : i686-w64-mingw32 et les 64 bits dans le dossier : x86_64-w64-mingw32

            • Partager sur Facebook
            • Partager sur Twitter
            ...
              8 mars 2022 à 10:53:31

              Bon, tout ça, ça manque cruellement d'éléments tangibles montrant quelles commandes sont lancées pendant la compilation de ton projet.

              On peut toujours supposer et penser que, mais pour diagnostiquer et corriger ensuite, il vaut mieux examiner la réalité d'abord, plutôt que de jouer à la voyante extralucide qui corrige les bugs à distance les yeux bandés.

              Comme c'est une situation fréquente, j'ai rédigé un truc à ce sujet https://mbillaud.fr/notes/configurer-codeblocks.html

              A faire

              • compiler avec les warnings et tout ça
              • relever, dans les panneaux Build log et Build messages, les indications de ce qui se passe réellement.

              -
              Edité par michelbillaud 8 mars 2022 à 10:54:50

              • Partager sur Facebook
              • Partager sur Twitter

              Erreur de compilation en C sous CodeBlocks

              × 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