Partage
  • Partager sur Facebook
  • Partager sur Twitter

Installation de SDL 1.2

Mon projet ne trouve pas la SDLmain et la SDL.dll

    11 mai 2020 à 6:39:25


    Salut à tous, 
    Je travaille avec le langage C sur Windows sur Codeblocks. Depuis plus d'une semaine, j'essaie de créer un projet SDL en suivant le cours sur le langage C sur open class room et ça ne marche pas.
    Les étapes de l'installation de la SDL sont les suivantes :
    1- Télécharger les fichiers de la section "Developpement libfrairies" sur ce site internet site de la SDL www.libsdl.org;

    2- Extraire les fichiers et les placer dans le C\ (je l'ai placé dans Codeblocks --- > voir image ci-dessous);


    3- Copiez les header du dossier SDL à la racine du dossier include (voir image ci-dessous);
     


    4- Enfin, il fallait placer le fichier SDL.dll dans le dossier de mon projet (chose faite ---> voir image ci-dessous)


    Voilà toutes les étapes qu'il fallait faire. Je crois bien les avoir bien suivies. Pourtant lorsque je lance mon programme Codeblocks, ça n'a pas marché. J'ai eu en fait les deux messages d'erreurs suivantes (en rouge sur l'image)

    Je ne comprends absolument pas pourquoi cela ne fonctionne pas. Quelqu'un peut m'aider S.V.P ??!

    -
    Edité par LaurentSubban 11 mai 2020 à 6:40:46

    • Partager sur Facebook
    • Partager sur Twitter
      11 mai 2020 à 9:31:02

      Sur Windows, une librairie partagée est constituée:

      - des headers publics

      - d'un ou plusieurs fichiers .dll

      - d'un ou plusieurs fichiers .lib (qui contiennent les symboles exportés de leur .dll correspondant). Attention, lorsque une librairie livre les fichiers pre compilés, il y a parfois la lib statique et la lib dynamique. Les .lib de la librairie dynamique ont une extension .dll.lib lorsque ils ont été générés avec MinGW.

      Dans le cadre du developpement, il est preferable de placer ces fichiers dans un repertoire dédié et isolé de tes fichiers systemes et isolé de ton IDE, avec une sous-arbo de ce type:

      Libname

      +--- version

      +------ bin

      +------ include

      +------ lib

      Tu places tes headers publics dans le repertoire include, tes .dll dans bin, tes .lib dans lib.

      (Pour plus de souplesse encore, on aura encore un sous repertoire par version de la librairie en fonction de la maniere dont celle ci a été compilée (statique/dynamique, compilateur, Release/Debug, architecture etc))

      Ensuite tu dois configurer le systeme de build de ton projet (en l'occurence toi tu utilises celui de CodeBlocks) pour qu'il soit au courant:

      - du repertoire d'include de chaque librairie utilisée (c'est utilisé lors de la compilation).

      - du repertoire lib de chaque librairie utilisée (c'est utilisé lors de l'edition des liens, qui vient apres la compilation).

      - du nom de chaque fichier .lib qui t'interesse

      Alors je connais pas specialement CodeBlocks mais tu trouveras surement des champs correspondant (genre repertoires d'include dans une section compilation, repertoires des lib dans edition des liens etc).

      Enfin, tu dois faire une copie de tes fichiers .dll dans le repertoire où sera produit ton executable.

      • Partager sur Facebook
      • Partager sur Twitter
        11 mai 2020 à 15:21:15

        Je ne sais pas ce que vous avez tous avec code::blocks et SDL 1.2. Nous sommes en 2020, plus personne n'utilise ces deux projets.

        Passez à SDL 2.0 et un vrai IDE.

        • Partager sur Facebook
        • Partager sur Twitter

        l'azerty est aux dispositions ce que subversion est aux SCM

          12 mai 2020 à 6:19:43

          J’ai aussi téléchargé la SDL 2. J’ai juste voulu suivre l’auteur du cours.
          • Partager sur Facebook
          • Partager sur Twitter

          Installation de SDL 1.2

          × 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