IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

"Installer" la SDL (windows, MinGW)


Sujet :

SDL

  1. #1
    Invité1
    Invité(e)
    Par défaut "Installer" la SDL (windows, MinGW)
    Bonjour

    Je suis intéressé par la SDL, mais je ne sais pas trop par ou commencer...

    J'utilise MinGW comme compilateur sous windows. J'ai téléchargé la SDL pour MinGW et j'ai décompressé le tar.gz.

    Maintenant, il y a une foule de pages qui expliquent comment utiliser la SDL avec code::blocks, avec eclipse... bref, avec un IDE... Il y a aussi des pages qui expliquent comment l'installer sous linux... Et certaines qui disent que pour mingw, en ligne de commande et bah faut faire comme sous linux...

    Ce que j'aimerais savoir, c'est comment compiler un programme avec la SDL en utilisant GCC (MinGW). J'aimerais savoir comment le faire "manuellement"! Pas un truc qui dit, clique la et tout se fera tout seul! Je veut toutes les étapes!

    Et ce que j'aimerais aussi, c'est qu'on m'explique chacune des étapes. C'est bien beau les instructions du type: clique là, fais ça et ça marche... Mais moi j'aimerais comprendre ce que je fais!

    Merci beaucoup de votre aide!


    Alex

  2. #2
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut,

    je suppose ici que tu sais déjà te servir de mingw.

    Donc une fois que tu as télécharger le zip SDL, il y a un dossier "include" dedans où y'a tous les .h de SDL.

    Tu peux choisir de les mettre avec les autres .h de mingw (ils sont dans le dossier include de minGW) et dans ce cas dans ton code tu ferais #include <SDL.h>, ou alors dans un dossier à l'intérieur du dossier include de minGW (et là tu ferais #include <SDL/SDL.h> par exemple)

    De même tu mets les fichiers lib/.a dans le dossier de minGW où y'a ce genre de fichier, et pour que SDL puisse être utilisée par tous tes programmes tu mets le fichier .dll dans le dossier system32 de windows.

    Après pour compiler un programme, tu le fais comme d'habitude, puis tu rajoutes à la fin de la ligne de commande -lmingw32 -lSDLmain -lSDL (c'est pour "linker" ton programme à SDL, le compilateur va ainsi chercher les fonctions que tu utilise dans les fichiers libs, pour que ton programme puisse les utiliser via le fichier .dll)

    Voilà,

    si tu as des problèmes n'hésite pas.

  3. #3
    Invité1
    Invité(e)
    Par défaut
    merci beaucoup de votre aide!

    alex

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Ce sujet date un peu mais c'est exactement ce que je cherchais. Cependant, j'ai des questions :

    De même tu mets les fichiers lib/.a dans le dossier de minGW où y'a ce genre de fichier
    Peut-on les mettre dans un sous-dossier SDL comme on peut le faire avec les .h ? Ou faut-il les mettre directement dans lib/ ?

    Après pour compiler un programme, tu le fais comme d'habitude, puis tu rajoutes à la fin de la ligne de commande -lmingw32 -lSDLmain -lSDL
    J'aurais aimé avoir un peu plus de détails sur chacune de ces options...

    pour que SDL puisse être utilisée par tous tes programmes tu mets le fichier .dll dans le dossier system32 de windows
    Cela veut donc dire que si je passe mon programme à quelqu'un d'autre, je dois aussi lui passe le .dll ? Si oui, et si je veux que l'utilisateur puisse utiliser tout de suite le programme, dois-je faire un installateur ? Et si oui, comment fait-on un installateur ?

    Beaucoup de questions, je sais... désolé !
    Et merci d'avance

  5. #5
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    Salut,

    Peut-on les mettre dans un sous-dossier SDL comme on peut le faire avec les .h ? Ou faut-il les mettre directement dans lib/ ?
    Si tu les mets dans un sous-dossier il faudra soit changer les variables d'environnement (pour rajouter ce dossier dans les dossiers de librairies) soit rajouter SDL/ devant le nom de la librairie lors du linkage

    J'aurais aimé avoir un peu plus de détails sur chacune de ces options...
    Ces options sont des options de "linkage". Le code source de la SDL est précompilé dans les dll, sinon chaque compilation d'un programme SDL prendrait très longtemps et les exécutables devraient chacun contenir tout le code de la SDL, ça serait lourd. On spécifie donc au compilateur qu'on a du code précompilé disponible.

    Pour ça on fait '-lxxxxxx' ou 'xxxxxx' est le nom de la librairie qu'on veut.
    • mingw32: Je ne sais pas trop ce que c'est, je crois que c'est le code des bibliothèques windows dont SDL se sert sous windows. (notamment le WinMain qui est utilisé par SDL)
    • SDL: Bah c'est tout le noyau SDL (fonctions graphiques, évènements, joystick, clavier, timers, threads...)
    • SDLmain: Sous windows il y a une histoire de main redéfini (avec le Winmain etc.), c'est cette bibliothèque qui gère ça. C'est aussi pourquoi l'ordre de linkage (avec la bibliothèque mingw32) est important


    Par la suite si tu utilises des extensions de SDL (comme SDL_ttf, SDL_image, ...) tu devras rajouter les options de linkage correspondantes: -lSDL_tff, -lSDL_image, ...

    Cela veut donc dire que si je passe mon programme à quelqu'un d'autre, je dois aussi lui passe le .dll ? Si oui, et si je veux que l'utilisateur puisse utiliser tout de suite le programme, dois-je faire un installateur ? Et si oui, comment fait-on un installateur ?
    Le plus simple quand tu passes le programme à quelqu'un d'autre c'est de mettre les dll dans le même dossier que l'exécutable (surtout si c'est juste pour tester, il ne faut pas le mettre dans un endroit comme son system32). Sinon oui, il faut un installateur (qui va demander des privilèges administrateurs...) mais pour ça regarde sur internet.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    Merci beaucoup pour toutes ces réponses !

    J'ai tout compris, je ne t'embêterais plus.

    Ciao !

Discussions similaires

  1. Installer SDL avec MinGW et la console Windows
    Par doowy38 dans le forum SDL
    Réponses: 1
    Dernier message: 05/10/2009, 06h29
  2. Installation SDL avec minGW et Eclipse
    Par Shadow-rebirth dans le forum Eclipse C & C++
    Réponses: 4
    Dernier message: 27/03/2008, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo