Référence indéfinie à la table virtuelle pour "BollySocket"
Rencontre la référence "Undefinened à VTable" dans QT indique une implémentation ou une déclaration manquante Pour une méthode virtuelle dans la classe "à BlanlySocket". Cependant, le code fourni prétend n'avoir aucune méthode virtuelle.
Cause et résolution:
Le message d'erreur suggère qu'une méthode virtuelle est appelée sans définition correspondante dans la classe. Cependant, selon le fichier d'en-tête donné, aucune méthode virtuelle n'est déclarée.
Il est crucial de noter que chaque fois que la macro Q_Object est utilisée, il est nécessaire de re-run Qmake (Système de construction de QT) pour générer le métadonnées nécessaires pour la classe. Cette étape garantit que la table virtuelle est correctement définie.
Solution:
re-running qmake à l'aide de la commande suivante dans le créateur QT IDE ou l'invite de commande devrait résoudre le numéro:
qmake
Après avoir exécuté Qmake, le projet doit être reconstruit pour incorporer les métadonnées mises à jour. Une fois que les processus Qmake et Build sont terminés, le linker doit identifier correctement la table virtuelle et le message d'erreur doit disparaître.
N'oubliez pas qu'il est essentiel de réécrire Qmake chaque fois que de nouvelles macros Q_Object sont ajoutés ou supprimés des classes à Évitez les futures erreurs liées à la table virtuelle.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3