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 :

Interface de plug-in héritant de QObject ?


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 170
    Par défaut Interface de plug-in héritant de QObject ?
    Salut à tous,

    J'ai voulu créer une interface de plugins héritant de QObject pour l'équiper de signaux et slots mais ça ne marche pas à la compilation de l'interface. Sans hériter de QObject ça a toujours marché sans problèmes.

    Quelqu'un aurait une idée sur le problème ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Bonjour,

    Un peu de code serait le bienvenue... Ou au moins l'erreur exact du compilateur...

  3. #3
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 170
    Par défaut
    L'interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include <qplugin.h>
    class Interface2 : public QObject
    {
    	Q_OBJECT
    public:
    	Interface2(){}
    	virtual ~Interface2(){}
    	virtual void aFunction()=0;
    };
    Q_DECLARE_INTERFACE(Interface2,"Interface2")
    Le plugin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class Plugin2 : public Interface2
    {
    	Q_OBJECT
    	Q_INTERFACES(Interface2)
    public:
    	Plugin2();
    	virtual ~Plugin2();
    	void aFunction();
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Plugin2:: Plugin2(){}
    Plugin2:: ~Plugin2(){}
    void Plugin2::aFunction(){}
     
    Q_EXPORT_PLUGIN2(Plugin2,Plugin2)
    L'erreur dans Interface2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    E:\Etudes\MVASpike_workspace\Testplugin\plugin2/../src/interface2.h:9: undefined reference to `vtable for Interface2'
    debug/moc_plugin2.o:E:\Etudes\MVASpike_workspace\Testplugin\plugin2/debug/moc_plugin2.cpp:61: undefined reference to `Interface2::qt_metacast(char const*)'
    debug/moc_plugin2.o:E:\Etudes\MVASpike_workspace\Testplugin\plugin2/debug/moc_plugin2.cpp:66: undefined reference to `Interface2::qt_metacall(QMetaObject::Call, int, void**)'
    debug/moc_plugin2.o:moc_plugin2.cpp: (.rdata+0x0): undefined reference to `Interface2::staticMetaObject'

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Merci d'utiliser les balises [ code ] [ / code ] pour afficher du code (icone '#') !

    Il semblerait que le fichier moc ne soit pas compiler ou du moins pas lier dans le binaire... Quel IDE / Compilateur utilises-tu ? N'as-tu pas oublier de passer un coup de compilateur moc ?

  5. #5
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 170
    Par défaut
    J'utilise eclipse / mingw. Même résultat avec Qt Creator.
    Je ne pense avoir rien oublié. Ca compile quand Interface2 n'hérite pas de QObjet.

  6. #6
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 170
    Par défaut
    Personne n'a eu le même problème ?
    Au pire, je pourrais déléguer l'émission des signaux et les slots à un objet à l'intérieur du plugin mais bon, ce n'est pas très clean comme approche dans ce cas ...

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

Discussions similaires

  1. Masquer l'interface du plug-in acrobat
    Par Lagnio dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 17/08/2010, 11h13
  2. plug in pour les interfaces
    Par amazircool dans le forum Graphisme
    Réponses: 2
    Dernier message: 26/12/2007, 14h32
  3. Réponses: 8
    Dernier message: 18/09/2005, 19h45
  4. existe il un plug-in de construction d'interface graphiqu
    Par adel25 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 09/08/2005, 09h45
  5. Réponses: 2
    Dernier message: 10/06/2002, 11h03

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