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 Discussion :

problème avec la QtTestLib


Sujet :

Qt

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10
    Par défaut problème avec la QtTestLib
    Bonjour,

    j'essaye d'utiliser la QtTestLib avec visual studio et je n'arrive pas à me débarasser d'une erreur d'édition de lien.

    mon code minimaliste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <QtGui/QApplication>
    #include <QtGui>
     
    #include <QtTest/QtTest>
    //#include "test1.h"
     
    class test1: public QObject
    {
    	Q_OBJECT
    	private slots:
    		void test1::toUpper()
    		{ 
    			QString str = "Hello";
    			QCOMPARE(str.toUpper(), QString("HELLO"));
    		} 
    }; 
     
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QTest::qExec(&test1(), argc, argv);  // L'ajout de cette ligne génère l'erreur de linkage.
        return a.exec();
    }
    l'erreur obtenue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    main.obj : error LNK2001: symbole externe non résolu "public: virtual int __thiscall test1::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@test1@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
    main.obj : error LNK2001: symbole externe non résolu "public: virtual void * __thiscall test1::qt_metacast(char const *)" (?qt_metacast@test1@@UAEPAXPBD@Z)
    main.obj : error LNK2001: symbole externe non résolu "public: virtual struct QMetaObject const * __thiscall test1::metaObject(void)const " (?metaObject@test1@@UBEPBUQMetaObject@@XZ)
    Debug/testQt.exe : fatal error LNK1120: 3 externes non résolus
    si qq1 à une idée je suis preneur.
    j'utilise Qt4.3.1 et visual studio 7.

    Merci

  2. #2
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    Il manque le moc généré, comme à chaque utilisation de la macro Q_OBJECT dans une classe situé dans un .cpp.

    Il faut ajouter #include "main.moc" en fin de fichier (car ton fichier s'appele apparemment main.cpp; de façon générale, c'est le nom de base).

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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