Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Configurer Qt Creator pour utiliser la SFML  (Lu 6246 fois)

0 Membres et 4 Invités sur ce sujet

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Configurer Qt Creator pour utiliser la SFML
« le: Juillet 20, 2017, 10:36:22 am »
Bonjour à tous,

je viens d'installer Qt Creator pour la première fois et j'essaye de le configurer pour utiliser la SFML.
Pour l'instant  j'ai un fichier ProjetTest.pro qui ressemble à ça :

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-graphics
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-graphics-d

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-window
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-window-d

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-system
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-system-d

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-network
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-network-d

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-audio
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../Desktop/SFML-2.4.2/lib/ -lsfml-audio-d

INCLUDEPATH += $$PWD/../../../Desktop/SFML-2.4.2/include
DEPENDPATH += $$PWD/../../../Desktop/SFML-2.4.2/include
 

Sortie de compilation me donne :
10:28:12: Exécution des étapes pour le projet Test...
10:28:12: Configuration inchangée, étape qmake sautée.

10:28:12: Débute : "C:\Qt\Tools\mingw492_32\bin\mingw32-make.exe"

C:/Qt/Tools/mingw492_32/bin/mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory 'C:/Users/.../build-Test-Sans_nom-Debug'
g++ -c -fno-keep-inline-dllexport -pipe -g -std=gnu++11 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -DQT_QML_DEBUG -I..\Test -I. -I..\..\..\Desktop\SFML-2.4.2\include -IC:\Qt\5.9.1\mingw53_32\mkspecs\win32-g++  -o debug\main.o ..\Test\main.cpp
g++ -Wl,-subsystem,console -mthreads -o debug\Test.exe debug/main.o  -LC:\Users\...\SFML-2.4.2\lib -lsfml-graphics-d -lsfml-window-d -lsfml-system-d -lsfml-network-d -lsfml-audio-d

mingw32-make[1]: Leaving directory 'C:/Users/.../build-Test-Sans_nom-Debug'

10:28:14: Le processus "C:\Qt\Tools\mingw492_32\bin\mingw32-make.exe" s'est terminé normalement.

Et quand j'exécute l'exe j'obtiens juste : ProjetTest.exe exited with code -1073741515

Je me suis planté quelque part, mais où ?

Merci d'avance.

Guillaume__

  • Newbie
  • *
  • Messages: 42
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #1 le: Juillet 20, 2017, 10:52:17 am »
Bonjour èmji,

Sur la documentation 1.6 de la SFML il y a un un tutoriel expliquant comment intégrer SFML à Qt. Toutefois celui-ci datant tu risques (peut être) de rencontrer des erreurs et si c'est le cas je t'invite à faire un tour sur wiki quelques unes des pages traitent de Qt.

Passes une bonne journée ;)
Cordialement G
Rejoignez-nous sur le serveur
Discord SFML

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #2 le: Juillet 20, 2017, 11:24:49 am »
Si ça compile & lie sans erreur c'est que c'est bon. Il doit te manquer quelques DLLs à copier à côté de l'exécutable. Essaye de lancer l'exécutable directement depuis l'explorateur, tu auras peut-être un message d'erreur plus pertinent.

Autre hypothèse : tu as téléchargé une version précompilée de SFML qui ne correspond pas à ton compilateur.
Laurent Gomila - SFML developer

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #3 le: Juillet 20, 2017, 12:24:26 pm »
Merci pour les réponses.

Qt creator m'indique que mon kit (j'ai pas encore trop compris ce que c'est) utilise MinGW 4.9.2 32bit mais j'ai l'erreur effectivement plus pertinente : Le point d'entrée de procédure _gxx_personality_v0 est introuvable dans la bibliothèque de liens dynamiques

J'ai quand même essayé les autres versions précompilé, j'ai la même erreur, je ne comprends pas. Je vais essayer de recompiler la SFML.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #4 le: Juillet 20, 2017, 01:52:19 pm »
Oui, il faut recompile SFML. Il existe de nombreuses variantes de gcc sous Windows, et malheureusement elles sont toutes incompatibles entre elles.
Laurent Gomila - SFML developer

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #5 le: Juillet 20, 2017, 02:21:13 pm »
J'ai un souci :
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage

Qu'est-ce que je dois mettre dans CMAKE_MAKE_PROGRAM ? Le chemin vers mingw32-make.exe ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #6 le: Juillet 20, 2017, 02:43:38 pm »
Oui. Mais là le problème est plus probablement que le chemin vers ton MinGW/bin n'est pas dans le PATH au moment où tu fais tourner CMake ; si tu ne le fais pas, il ne va rien trouver tout seul (le compilo, le linker, etc.).
Laurent Gomila - SFML developer

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #7 le: Juillet 20, 2017, 03:07:32 pm »
J'ai généré les lib mais maintenant j'ai des tas de erreur : undefined reference to `_imp___...'  :(

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #8 le: Juillet 20, 2017, 03:28:26 pm »
On peut voir les erreurs exactes ? Et c'est à quel moment : quand tu compiles SFML ou bien ton projet ?
Laurent Gomila - SFML developer

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #9 le: Juillet 20, 2017, 03:31:45 pm »
15:29:22: Exécution des étapes pour le projet Test...
15:29:22: Configuration inchangée, étape qmake sautée.
15:29:22: Débute : "C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe"
C:/Qt/Tools/mingw530_32/bin/mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory 'C:/Users/virtu/OneDrive/Documents/build-Test-Mon_kit_MinGW-Release'
g++ -Wl,-s -Wl,-subsystem,console -mthreads -o release\Test.exe release/main.o  -LC:\Users\virtu\Desktop\sfml-build\lib -lsfml-graphics -lsfml-window -lsfml-system -lsfml-network -lsfml-audio
release/main.o:main.cpp:(.text.startup+0x81): undefined reference to `_imp___ZN2sf6StringC1EPKcRKSt6locale'
release/main.o:main.cpp:(.text.startup+0xa9): undefined reference to `_imp___ZN2sf9VideoModeC1Ejjj'
release/main.o:main.cpp:(.text.startup+0xeb): undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'
release/main.o:main.cpp:(.text.startup+0x128): undefined reference to `_imp___ZN2sf11CircleShapeC1Efj'
release/main.o:main.cpp:(.text.startup+0x12d): undefined reference to `_imp___ZN2sf5Color5GreenE'
release/main.o:main.cpp:(.text.startup+0x13f): undefined reference to `_imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'
release/main.o:main.cpp:(.text.startup+0x145): undefined reference to `_imp___ZN2sf6Window9pollEventERNS_5EventE'
release/main.o:main.cpp:(.text.startup+0x158): undefined reference to `_imp___ZNK2sf6Window6isOpenEv'
release/main.o:main.cpp:(.text.startup+0x1a8): undefined reference to `_imp___ZN2sf5ColorC1Ehhhh'
release/main.o:main.cpp:(.text.startup+0x1ba): undefined reference to `_imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'
release/main.o:main.cpp:(.text.startup+0x1bf): undefined reference to `_imp___ZN2sf12RenderStates7DefaultE'
release/main.o:main.cpp:(.text.startup+0x1db): undefined reference to `_imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'
release/main.o:main.cpp:(.text.startup+0x1ea): undefined reference to `_imp___ZN2sf6Window7displayEv'
release/main.o:main.cpp:(.text.startup+0x1fb): undefined reference to `_imp___ZN2sf6Window5closeEv'
release/main.o:main.cpp:(.text.startup+0x205): undefined reference to `_imp___ZTVN2sf11CircleShapeE'
release/main.o:main.cpp:(.text.startup+0x223): undefined reference to `_imp___ZN2sf5ShapeD2Ev'
release/main.o:main.cpp:(.text.startup+0x22f): undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'
release/main.o:main.cpp:(.text.startup+0x278): undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'
release/main.o:main.cpp:(.text.startup+0x287): undefined reference to `_imp___ZTVN2sf11CircleShapeE'
release/main.o:main.cpp:(.text.startup+0x2a5): undefined reference to `_imp___ZN2sf5ShapeD2Ev'
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [release\Test.exe] Error 1
Makefile.Release:63: recipe for target 'release\Test.exe' failed
mingw32-make[1]: Leaving directory 'C:/Users/virtu/OneDrive/Documents/build-Test-Mon_kit_MinGW-Release'
Makefile:36: recipe for target 'release' failed
mingw32-make: *** [release] Error 2
15:29:23: Le processus "C:\Qt\Tools\mingw530_32\bin\mingw32-make.exe" s'est terminé avec le code 2.
Erreur lors de la compilation/déploiement du projet Test (kit : Mon kit MinGW 5.3.0 32bit)
When executing step "Make"
15:29:23: Temps écoulé : 00:02.

C'est quand je compile mon projet.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #10 le: Juillet 20, 2017, 03:43:07 pm »
Tu as compilé SFML avec toutes les options par défaut, ou bien tu as changé des choses au niveau de CMake ?
Laurent Gomila - SFML developer

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #11 le: Juillet 20, 2017, 03:45:50 pm »
J'ai utilisé les options par défaut.

PS :  merci de ta patience :)

PPS: sur C::B en utilisant la sfml recompilée j'obtiens :
Le point d'entrée de procédure _ZNKSt7__cxx1112basic_stringlcSt11char_traitslcESalcEE3endEv est introuvable dans la bibliothèque de lien dynamiques.
.../sfml-system-d-2.dll
« Modifié: Juillet 20, 2017, 03:49:30 pm par èmji »

Guillaume__

  • Newbie
  • *
  • Messages: 42
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #12 le: Juillet 20, 2017, 03:57:17 pm »
Il n'y aurait pas un conflit entre le compilateur utilisé pour la compilation de SFML et celui interne à Qt Creator ?
Rejoignez-nous sur le serveur
Discord SFML

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #13 le: Juillet 20, 2017, 04:06:46 pm »
Ok. En effet je viens de regarder CMake a utilisé un autre compilateur, un que j'ai supprimé tout à l'heure mais apparement je l'ai déjà réistallé depuis...
Je recompile et je vous dis quoi

èmji

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re: Configurer Qt Creator pour utiliser la SFML
« Réponse #14 le: Juillet 20, 2017, 04:16:58 pm »
Enfin ça marche !

Alors quelques questions quand même :
Dans les dll fournit avec la SFML il  y a openal32.dll Quand est-ce que je dois l'inclure ?
Comment je compile les lib pour le debug, parce que là je suis en Release ?

 

anything