Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt3] [Win]probleme de linkage

j'utilise QT 3.2 avec VC++ 6.0 et j'ai un probleme lors du linkage de mes fichiers.
J'ai ajouté un .ui à mon projet et un .h et un .cpp ont bien été générés après la compil. Pour éviter que mon propre code soit effacé après quelques modif avec QT designer, j'ai dérivé ma classe et tout le code que j'ai créé se trouve dans la classe fille. Cependant quand je fais mon link des fichiers, je tombe sur l erreur suivante :

error LNK2001: unresolved external symbol "public: virtual void __thiscall parametrage::deblocScenarii(void)" (?deblocScenarii@parametrage@@UAEXXZ)

elle fait référence à un slot que je définis dans la classe fille.

Quelqu'un pourrait-il m'aider ?

Réponses

  • L'aide de MSVC au sujet de ton erreur dit :

    symbole externe non résolu 'symbole'

    Le code référence quelque chose (fonction, variable ou étiquette) que l'éditeur de liens ne peut trouver dans les bibliothèques ni dans les fichiers objets.

    Causes possibles

    Ce que le code recherche n'existe pas (le symbole a une orthographe incorrecte ou une combinaison incorrecte de majuscules et minuscules, par exemple).
    Le code recherche un objet erroné (vous utilisez des versions mixtes des bibliothèques, certaines provenant d'une version du produit et d'autres d'une version différente).
    Ce message d'erreur est suivi de l'erreur irrécupérable LNK1120.
    Il te dit donc que deblocScenarii n'est pas trouve .... pas de soucis entre les minuscules / majuscules ou autre ???

    Une classe definissant une methode void deblocScenarii() doit l'implementer et apparemment il trouve pas l'implémentation !
  • je pense avoir trouvé d'où venait mon problème mais cela m'en pose un autre.
    j'avais écrit moi meme la connexion entre le bouton et le slot donc il s'effacait automatiquement.
    maintenant bien que j'arrive bien à créer mon slot sous QT designer, je n'arrive pas à l'affecter lors de la connexion( il n apparait pas en choix dans slot ).

    explication : j essaie de rendre "valide" ( enable ) une frame en cliquant sur un bouton
  • tu as cree ton propre slot et tu souhaites qu'il soit appelle au SIGNAL clicked() de ton bouton ?

    Si les parametres ne sont pas compatibles, il n'apparaitra pas je pense :

    exemple :

    si le slot est mySlot(bool);
    il apparaitra pour le signal toggled(bool) du pushbutton, mais pas pour le signal clicked()
Connectez-vous ou Inscrivez-vous pour répondre.