Forum de la communauté SFML

Général => Projets SFML => Discussion démarrée par: jeremie40000 le Juillet 16, 2013, 02:34:29 pm

Titre: SFML Threads
Posté par: jeremie40000 le Juillet 16, 2013, 02:34:29 pm
Bonjour tout le monde, alors voila, j'utilise la SFML depuis quelques temps et j'aimerai maintenant apprendre à utiliser sa partie sur les threads. J'ai donc suivi le cour sur ce site, mais j'ai un problème, même en ayant le même code que sur le cour, le programme ne marche pas, rien ne se lance. Je suis sous QtCreator et j'utilise la version 1.6 de la SFML. J'implore désormais votre aide, si cela peut vous aidez, voici mon code :
fichier.pro :
INCLUDEPATH += G:/SFML-1.6/include
LIBS +=    G:/SFML-1.6/lib/libsfml-audio.a
LIBS +=    G:/SFML-1.6/lib/libsfml-network.a
LIBS +=    G:/SFML-1.6/lib/libsfml-system.a
LIBS +=    G:/SFML-1.6/lib/libsfml-window.a
LIBS +=    G:/SFML-1.6/lib/libsfml-graphics.a

QT       += core
QT       -= gui

TARGET = projet1
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app
SOURCES += main.cpp
 
main.cpp :
#include <SFML/System.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>
#include <QCoreApplication>
class MyThread : public sf::Thread
{
private :

    virtual void Run()
    {
        // Afficher quelque chose...
        for (int i = 0; i < 10; ++i)
            std::cout << "Je suis le thread numero 2" << std::endl;
    }
};

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    // Création d'une instance de notre classe perso de thread
    MyThread Thread;

    // On lance le thread !
    Thread.Launch();

    // Afficher quelque chose...
    for (int i = 0; i < 10; ++i)
        std::cout << "Je suis le thread principal" << std::endl;

    return app.exec();
}
 

Je me remets donc à vous et vous remercie d'avance pour vos réponses. ;D
Titre: Re : SFML Threads
Posté par: Laurent le Juillet 16, 2013, 02:49:18 pm
Passe à SFML 2.0, ça règlera sûrement ton problème.
Titre: Re : SFML Threads
Posté par: jeremie40000 le Juillet 16, 2013, 03:11:42 pm
Tu es sûr qu'il n'y a pas un autre moyen?
Titre: Re : SFML Threads
Posté par: Laurent le Juillet 16, 2013, 03:19:03 pm
On peut toujours creuser, mais c'est un peu dommage étant donné que SFML 1.6 est de toute façon buggée, non maintenue et officellement obsolète.

Si tu ne mets que sfml-system dans tes options d'édition de lien (et vire <SFML/Graphics.hpp> de ton code) , ça fonctionne mieux ?

Note que si tu utilises Qt tu n'as aucun intérêt à utiliser ce genre de classe de SFML. Utilise QThread, voire même std::thread si ton compilo est assez récent.
Titre: Re : SFML Threads
Posté par: jeremie40000 le Juillet 16, 2013, 03:23:13 pm
D'accord merci pour m'avoir consacrer un peu de ton temps,  je vais suivre tes conseils et passer en 2.0, merci. ;D