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

Auteur Sujet: Problème de compilation SFML avec Qt Creator  (Lu 3369 fois)

0 Membres et 1 Invité sur ce sujet

MadMaXx

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Problème de compilation SFML avec Qt Creator
« le: Mars 09, 2013, 01:09:00 pm »
Bonjour,

J'aimerais compiler de la SFML sous l'IDE Qt Creator. Pour ce faire j'ai téléchargé SFML 1.6 . J'ai copié les  .a dans le dossier C:/Qt/Qt5.0.1/Tools/MinGW/lib et le dossier SFML (contenant les .hpp) dans C:/Qt/Qt5.0.1/Tools/MinGW/include . Je lance l'IDE et pour voir si ça compile bien je teste avec ce code tiré des tutoriels:

Citer
#include <SFML/System.hpp>
#include <iostream>

int main()
{
    sf::Clock Clock;
    while (Clock.GetElapsedTime() < 5.f)
    {
        std::cout << Clock.GetElapsedTime() << std::endl;
        sf::Sleep(0.5f);
    }

    return 0;
}

Dans le .pro j'ai mis ceci:

Citer
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

INCLUDEPATH += "C:/Qt/Qt5.0.1/Tools/MinGW/include"
LIBS += -lsfml-system


Ça compile. Une console se lance et met juste "appuyez sur ENTREE pour fermer cette fenêtre". Mais pas de chiffres qui s'affichent comme ça devrait se passer...

Je commence à utiliser cet IDE j'ai du oublier qqchose mais quoi? Si vous pouviez m'aider merci.

MadMaXx

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Problème de compilation SFML avec Qt Creator
« Réponse #1 le: Mars 10, 2013, 12:59:05 pm »
Dans le même genre, dans un autre projet, je fais un simple hello world:

> Le main.cpp :

Citer
#include <iostream>
#include <SFML/System.hpp>

int main()
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}

Le .pro :

Citer
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp
INCLUDEPATH += c:/SFML-1.6/include
LIBS += c:/SFML-1.6/lib/libsfml-system.a

A ce stade ça compile, j'ai mon Hello World (encore heureux...). Mais il suffit que je déclare une classe comme ça par exemple:

Citer
#include <iostream>
#include <SFML/System.hpp>

int main()
{
    sf::Clock clock;
    std::cout << "Hello World!" << std::endl;
    return 0;
}

Et ça n'affiche plus rien... Je suis paumé là.



Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème de compilation SFML avec Qt Creator
« Réponse #2 le: Mars 10, 2013, 01:18:26 pm »
Il faut recompiler SFML, tout simplement ;)
Laurent Gomila - SFML developer

MadMaXx

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Problème de compilation SFML avec Qt Creator
« Réponse #3 le: Mars 10, 2013, 11:06:35 pm »
Ah d'accord c'est plus compliqué que ce que je pensais car quand j'ai vu ce lien:

http://www.sfml-dev.org/wiki/fr/tutoriels/configurationqtcreator?DokuWiki=0b38e23b9d48c051ce8accb2b042c008

Pour moi il suffisait de prendre le Windows - MinGW (Code::Blocks) 1.6 et de faire comme indiqué... Malheureusement c'est pas aussi simple :S

Je suis ce tuto pour compiler avec Cmake: http://www.sfml-dev.org/tutorials/2.0/compile-with-cmake-fr.php

Je dois donc passer à la version 2.0 . Je prends Windows 32 bits - GCC DW2 et Cmake dernière version.

Source code: C:/Users/Maxime/Desktop/SFML-2.0-rc/cmake/Modules
Where build: C:/Users/Maxime/Desktop/reception

Erreur:

Citer
The source directory "C:/Users/Maxime/Desktop/SFML-2.0-rc/cmake/Modules" does not appear to contain CMakeLists.txt.

Je ne pige toujours pas le problème. C'est bien cette version là que je dois prendre pas celles avec Visual C++ vu que Qt Creator tourne avec MinGW. Merci en tout cas de m'aider.


Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème de compilation SFML avec Qt Creator
« Réponse #4 le: Mars 11, 2013, 07:52:23 am »
Citer
Pour moi il suffisait de prendre le Windows - MinGW (Code::Blocks) 1.6 et de faire comme indiqué... Malheureusement c'est pas aussi simple :S
Cela suffirait si tu utilisais le même MinGW que celui qui a servi à compiler ce package, mais comme il est très vieux et que tu as un très récent, ça ne colle pas ;)

Citer
Je dois donc passer à la version 2.0
Non. Tu peux aussi compiler SFML 1.6 (comment tu crois que j'ai compilé la release ;D), mais pas de la même manière ; de celle qui est décrite dans les tutoriels pour 1.6.

Mais sinon, pour répondre à ton problème :

Citer
Je prends Windows 32 bits - GCC DW2
Ce package est une release, il ne contient pas le code source de SFML. Il faut le chopper sur github, par exemple. Et si tu veux te simplifier la vie, tu as des nightly builds (non-officiels) sur le forum Général anglais.

Citer
Source code: C:/Users/Maxime/Desktop/SFML-2.0-rc/cmake/Modules
Le répertoire source est la racine, pas /cmake/Modules (c'est clairement indiqué dans le tutoriel, non ?).
Laurent Gomila - SFML developer

MadMaXx

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Problème de compilation SFML avec Qt Creator
« Réponse #5 le: Mars 12, 2013, 06:00:18 pm »
D'accord. Donc j'ai suivi le tuto pour configurer la compilation avec SFML 2.0. (Tant qu'a faire autant avoir la dernière version  ;D )Tout va bien. Maintenant il faut la compiler donc je suppose que je dois faire via cmd un "change directory" dans le répertoire de Qt Creator et faire un "mingw32-make" une fois dedans. Mais dans c:/Qt/Qt5.0.1/Tools/MinGW j'ai:

> " i686-w64-mingw32"

et

> "mingw47_32"

Lequel prendre ? Je voudrais surtout pas faire de bêtises.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème de compilation SFML avec Qt Creator
« Réponse #6 le: Mars 12, 2013, 06:22:38 pm »
Regarde celui qui est utilisé dans QtCreator.
Laurent Gomila - SFML developer

MadMaXx

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
Re : Problème de compilation SFML avec Qt Creator
« Réponse #7 le: Mars 13, 2013, 06:43:42 pm »
Le chemin du compilateur indiqué par Qt Creator est ...\Tools\MinGW\bin\gcc.exe
Je change le PATH comme dit dans le tuto vers ce MinGW\bin
Je clique sur configurer sur CMake. Aucune erreur.
J'ai le Makefile dans mon dossier reception.
Je fais mingw32-make install une fois dans ce dossier.
Il me l'installe correctement sans erreurs dans C:/SFML.
Je reprend Qt Creator, je change évidemment le .pro:

Citer
INCLUDEPATH += "C:/SFML/include"
LIBS += -L"C:\SFML\lib" \
-lsfml-graphics \
-lsfml-windows \
-lsfml-system


Toujours le même souci sf::Clock Clock dans le code et pouf ca compile mais le "hello world" ne s'affiche pas dans la console...
 
« Modifié: Mars 13, 2013, 06:46:52 pm par MadMaXx »