Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - fabrice

Pages: [1]
1
Général / Re : Intégration Qt
« le: Juillet 23, 2012, 04:18:10 pm »
 :-[ ça compile merci, je m'en suis rendu compte entre temps pour ces erreur.

Maintenant ça crashe au lancement, j'ai encore du faire une bétise :)

Merci encore.

2
Général / Re : Intégration Qt
« le: Juillet 23, 2012, 03:43:47 pm »
Donc voici la sortie de compilation :

c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
debug/moc_qsfmlcanvas.o:moc_qsfmlcanvas.cpp:(.rdata$_ZTV11QSFMLCanvas[vtable for QSFMLCanvas]+0xe8): undefined reference to `QSFMLCanvas::OnInit()'
debug/moc_qsfmlcanvas.o:moc_qsfmlcanvas.cpp:(.rdata$_ZTV11QSFMLCanvas[vtable for QSFMLCanvas]+0xec): undefined reference to `QSFMLCanvas::OnUpdate()'

collect2: ld returned 1 exit status
 

Voila, je compile depuis QtCreator.

3
Général / Re : Intégration Qt
« le: Juillet 23, 2012, 03:12:41 pm »
Toujours pareil, je remet mon .pro au cas ou j'aurai fait une erreur :

INCLUDEPATH += C:\librairies\SFML-1.6\include

LIBS += -L C:\librairies\SFML-1.6\lib -lsfml-system
LIBS += -L C:\librairies\SFML-1.6\lib -lsfml-window
LIBS += -L C:\librairies\SFML-1.6\lib -lsfml-graphics
 


4
Général / Re : Intégration Qt
« le: Juillet 23, 2012, 02:34:20 pm »
Ah oui désolé j'étais sur un vieux tutoriel.

Toujours cette fameuse erreur : collect2: ld returned 1 exit status , je cherche ...

Merci pour les réponses rapides

5
Général / Re : Intégration Qt
« le: Juillet 23, 2012, 01:43:27 pm »
ça a fonctionné j'ai donc pu faire la suite (la partie mycanvas) mais l'erreur apparait de nouveau je tente des cleans mais rien n'y fait.

Sinon la fonction SetBackgroundColor() m'étais donnée comme non déclarée j'ai remplacé par clear() en attendant mais j'aurais aimé savoir si y avait quelque chose de spécial à inclure pour setbackgroundcolor.

Merci.

6
Général / Re : Intégration Qt
« le: Juillet 23, 2012, 12:40:26 pm »
Bonjour,

Merci ça corrige mes deux premières erreurs pour la troisième je continue de chercher auriez vous une idée d'où cela peut provenir? aurais je oublié autre chose?

7
Général / Intégration Qt
« le: Juillet 23, 2012, 12:06:17 pm »
Bonjour,

Je suis en train d'essayer d'intégrer SFML à Qt en suivant le tutoriel mais je me retrouve bloqué par une erreur qui me semble venir du fichier .pro mais je ne trouve pas.

Les erreurs sont les suivantes :

erreur : undefined reference to `sf::Window::Create(void*, sf::WindowSettings const&)'
erreur : undefined reference to `sf::Window::Display()'
erreur : collect2: ld returned 1 exit status

Voici ce que j'ai ajouté à mon fichier .pro

INCLUDEPATH += C:\librairies\SFML-1.6\include
LIBS += -L C:\librairies\SFML-1.6\lib -lsfml-graphics
 

Au cas ou je rajoute aussi mon code :

Le .h

#ifndef QSFMLCANVAS_H
#define QSFMLCANVAS_H

#include <SFML/Graphics.hpp>
#include <SFML/Graphics/RenderWindow.hpp>
#include <QWidget>
#include <QTimer>

class QSFMLCanvas : public QWidget, public sf::RenderWindow
{
    Q_OBJECT
   
public:
    explicit QSFMLCanvas(QWidget *parent = 0, const QPoint& Position = QPoint(0,0), const QSize& Size = QSize(800, 600), unsigned int FrameTime = 0);
    ~QSFMLCanvas();
   
private:
    virtual void OnInit();

    virtual void OnUpdate();

    virtual void showEvent(QShowEvent*);

    virtual void paintEvent(QPaintEvent*);

    QTimer *myTimer;
    bool   myInitialized;
};

#endif // QSFMLCANVAS_H
 

Le .cpp

#include "qsfmlcanvas.h"
#ifdef Q_WS_X11
    #include <Qt/qx11info_x11.h>
    #include <X11/Xlib.h>
#endif

QSFMLCanvas::QSFMLCanvas(QWidget *parent, const QPoint& Position, const QSize& Size, unsigned int FrameTime) :
    QWidget(parent), myInitialized (false)
{
    // Mise en place de quelques options pour autoriser le rendu direct dans le widget
        setAttribute(Qt::WA_PaintOnScreen);
        setAttribute(Qt::WA_NoSystemBackground);

        // Définition de la position et de la taille du widget
        move(Position);
        resize(Size);

        // Préparation du timer
        myTimer->setInterval(FrameTime);
}

void QSFMLCanvas::showEvent(QShowEvent*)
{
    if (!myInitialized)
    {
        // Sous X11, il faut valider les commandes qui ont été envoyées au serveur
        // afin de s'assurer que SFML aura une vision à jour de la fenêtre
        #ifdef Q_WS_X11
            XFlush(QX11Info::display());
        #endif

        // On crée la fenêtre SFML avec l'identificateur du widget
        Create(winId());

        // On laisse la classe dérivée s'initialiser si besoin
        OnInit();

        // On paramètre le timer de sorte qu'il génère un rafraîchissement à la fréquence souhaitée
        connect(myTimer, SIGNAL(timeout()), this, SLOT(repaint()));
        myTimer->start();

        myInitialized = true;
    }
}

void QSFMLCanvas::paintEvent(QPaintEvent*)
{
    // On laisse la classe dérivée faire sa tambouille
    OnUpdate();

    // On rafraîchit le widget
    Display();
}

QSFMLCanvas::~QSFMLCanvas()
{

}
 

Merci.

Pages: [1]
anything