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

Discussion :

Qt et visual studio 2008

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Points : 38
    Points
    38
    Par défaut Qt et visual studio 2008
    Bonjour à tous.
    Habituellement je code sous Qt Creator. Mais là, pour un petit projet perso de plugin pour teamspeak 3 (un logiciel de VOIP), je dois utiliser Visual Studio (le SDK est un projet Visual).
    Je n'arrive pas à utiliser Qt sur ce SDK. J'arrive parfaitement à créer un projet utilisant Qt qui compile lorsque je crée un projet makefile.
    Dans le cas du SDK que j'utilise, il s'agit d'un projet dll win32. J'ai indiqué où se trouvent les différents includes et j'ai linké mes .lib dans les paramètres du projet. Mais lors de la compilation j'ai systématiquement des erreurs de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    config.obj : error LNK2001: symbole externe non résolu "public: virtual int __thiscall Config::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Config@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
    config.obj : error LNK2001: symbole externe non résolu "public: virtual void * __thiscall Config::qt_metacast(char const *)" (?qt_metacast@Config@@UAEPAXPBD@Z)
    config.obj : error LNK2001: symbole externe non résolu "public: virtual struct QMetaObject const * __thiscall Config::metaObject(void)const " (?metaObject@Config@@UBEPBUQMetaObject@@XZ)
     
    plugin.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: int __cdecl QDialog::exec(void)" (__imp_?exec@QDialog@@QEAAHXZ)
    config.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) protected: virtual bool __cdecl QDialog::eventFilter(class QObject *,class QEvent *)" (__imp_?eventFilter@QDialog@@MEAA_NPEAVQObject@@PEAVQEvent@@@Z)
    config.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) protected: virtual void __cdecl QDialog::contextMenuEvent(class QContextMenuEvent *)" (__imp_?contextMenuEvent@QDialog@@MEAAXPEAVQContextMenuEvent@@@Z)
    config.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) protected: virtual void __cdecl QDialog::resizeEvent(class QResizeEvent *)" (__imp_?resizeEvent@QDialog@@MEAAXPEAVQResizeEvent@@@Z)
    Je ne les affiche pas toutes ce serait inutile

    Un code source du SDK utilisant Qt a même été fournit sur les forums de teamspeak, et impossible de le compiler (même erreur...)
    Je n'arrive vraiment pas à voir d'où vient le problème...
    PS 1: j'utilise Visual Studio 2008 pro.
    PS 2: Voici un lien sur la page où le code source utilisant Qt a été publié

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Qmeta & co c'est parcequ'il te manque la compil des fichier créé par moc

    les autres: il semble que tu n'as pas linké avec les la lib QtGui

    Comment créé tu ton projet utilisant Qt et teamspeak ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Points : 38
    Points
    38
    Par défaut
    Pour ce projet, j'utilise le .vcproj fournit dans le projet exemple avec Qt.
    Dans les paramètres de projet j'ai ceci:

    Type de configuration: Bibliothèque dynamique (.dll), sans MFC, sans ATL

    Options C/C++:
    Autres répertoires includes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "$(QTDIR)\include";"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtGui"
    Définitions préprocesseur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WIN32;_DEBUG;_WINDOWS;_USRDLL;TEST_PLUGIN_EXPORTS;WINDOWS;QT_LARGEFILE_SUPPORT;QT_THREAD_SUPPORT;QT_CORE_LIB;QT_GUI_LIB

    Options éditeur de liens:
    Répertoires de bibliothèque supplémentaires:
    Dépendances supplémentaires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qtmain.lib QtCore4.lib QtGui4.lib

    Autre chose que j'aurais dû préciser dès le début:
    Lorsque je compile en 32 bits, je n'ai que les erreurs avec le metaObject, et lorsque je compile en 64 bits, je n'ai que les erreurs qui semblent venir de QtGui.

    Et une chose que j'ai du mal à saisir, lorsque je crée mes projets makefile qui eux compilent. A la création du projet on spécifie qu'on le compile avec un qmake. Dans le cas d'un projet de dll, je ne le précise nul part qu'il faut compiler avec qmake... Et pourtant chez les autres personnes utilisant ce projet d'exemple cela fonctionne . J'avoue que je suis complètement pommé...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 26
    Points : 38
    Points
    38
    Par défaut
    Problème résolu.
    Il manquait le moc.cpp de ma fenêtre qt.
    J'ai dû le générer en faisant un qmake suivit d'un nmake sur mon projet via la console qt, et ça l'a généré.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Que pensez-vous de visual studio 2008 ?
    Par Louis-Guillaume Morand dans le forum Visual Studio
    Réponses: 36
    Dernier message: 17/11/2009, 03h41
  2. IronPython & visual studio 2008
    Par anthyme dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 13/06/2008, 14h50
  3. Visual Studio 2008 RTM
    Par The_badger_man dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 24/12/2007, 03h06
  4. Visual Studio 2008 BETA 2 [Intellisense]
    Par domdax dans le forum C#
    Réponses: 4
    Dernier message: 17/09/2007, 09h50

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