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

Qt Creator Discussion :

Utiliser SDL2 avec Qt Creator


Sujet :

Qt Creator

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Utiliser SDL2 avec Qt Creator
    Bonjour,
    je veux ajouter la bibliothèque SDL2 avec l'ide Qt.
    Malheureusement sur Windows je galère beaucoup et j'aurais besoin de votre aide.

    Ma bibliothèque se trouve à l'adresse suivante : C:\libs\SDL2-devel-2.0.3-mingw\SDL2-2.0.3
    C'est le dossier dans lequel j'ai pu extraire la bibliothèque que l'on trouve sur le site de SDL.
    Dans ce dossier, il y a 5 dossiers :
    1. i686-w64-mingw32
    2. include
    3. lib
    4. test
    5. x86_64-w64-mingw32


    Vu que j'ai une architecture 64 bits et que les versions des logiciels que j'installe sont tous en 64 bits sur windows, pour le chemin d'inclusion de la bibliothèque j'ai choisi le dernier dossier x86_64-w64-mingw32.

    Pour lier de façon statique je dois rajouter donc les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LIBS += -L C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/lib/ -lSDL2
    INCLUDEPATH += C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/include/SDL2
    Qt ne souligne pas les headers ni les fonctions, j'en déduis donc que le chemin d'include est bon
    mais pour le chemin des fichiers .a il y a des problèmes
    Avec les deux lignes que j'ai rajouté ci-dessus, j'obtiens les erreurs suivantes :

    undefined reference to `SDL_Init'
    undefined reference to `SDL_GetError'
    undefined reference to `SDL_CreateWindow' et treize autres erreurs du même type "undefined reference SDL_***"
    Après avoir cherché sur internet, il semble que j'ai omis les " au début et à la fin des chemins, je les ai rajouté en vain.

    D'autres disent qu'il faut mettre les flags suivants : -lmingw32 -lSDL2main -lSDL2 -mwindows.
    Donc j'aurais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LIBS += -L"C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/lib/" -lmingw32 -lSDL2main -lSDL2  -mwindows
    INCLUDEPATH += C:/libs/SDL2-devel-2.0.3-mingw/SDL2-2.0.3/x86_64-w64-mingw32/include/SDL2
    Toujours les mêmes erreurs, je me suis cassé la tête à comprendre d'où venais le problème mais rien, il y a un pkg-config dans le dossier lib, c'est un fichier Bash, je ne vois pas comment l'utiliser sur windows mais en l'ouvrant j'ai trouvé les flags suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    --libs)
          echo -L${exec_prefix}/lib  -lmingw32 -lSDL2main -lSDL2  -mwindows
          ;;
        --static-libs)
    #    --libs|--static-libs)
          echo -L${exec_prefix}/lib  -lmingw32 -lSDL2main -lSDL2  -mwindows  -Wl,--no-undefined -lm -ldinput8 -ldxguid -ldxerr8 -luser32 -lgdi32 -lwinmm -limm32 -lole32 -loleaut32 -lshell32 -lversion -luuid -XCClinker -static-libgcc

    Bref, j'ai testé différentes combinaisons, j'ai beau chercher, je ne trouve rien de satisfaisant et ce d'autant plus que l'installation de SDL2 sur Linux ne m'a posé aucun problème particulier.


    Je vous remercie d'avance

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    1 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 840
    Points : 5 545
    Points
    5 545
    Par défaut
    Bonjour,

    En général, avec Qt sur Windows, on n'a que du 32bits, ce qui doit être le problème : votre MinGW n'est pas prévu pour compiler un mix entre du Qt 32bits et du SDL 2 64bits.
    De mon côté, ça fonctionne quand je me sers de la version x86 présente dans le package SDL2 que vous utilisez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LIBS += -L"E:\\Users\\Louis\\Documents\\Projets\\TestSDL2\\SDL2-2.0.3\\lib\\x86" -lSDL2main -lSDL2
    INCLUDEPATH += "E:\\Users\\Louis\\Documents\\Projets\\TestSDL2\\SDL2-2.0.3\\include"
    Avec la version x64, j'obtiens les mêmes erreurs que vous.

    Bonne journée,
    Louis
    N'oubliez pas de consulter la FAQ Qt ainsi que les cours et tutoriels C++/Qt !

    Dernier article : Débuter avec les Enlightenment Foundation Libraries (EFL)
    Dernières traductions : Introduction à Qt Quick - Applications modernes avec Qt et QML
    Vous cherchez un livre sur Qt 5, Qt Quick et QML ? Créer des applications avec Qt 5 - Les essentiels

Discussions similaires

  1. [Kylix 3] Je n'arrive pas à utiliser MySQL
    Par usebob dans le forum EDI
    Réponses: 4
    Dernier message: 15/04/2005, 10h18
  2. Réponses: 6
    Dernier message: 24/02/2005, 09h44
  3. PB de vue utilisant UNION avec ENTERPRISE MANAGER
    Par punglas dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/12/2004, 15h18
  4. Réponses: 12
    Dernier message: 02/02/2004, 13h41

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