Maison > développement back-end > C++ > Pourquoi est-ce que j'obtiens des erreurs d'éditeur de liens « Référence non définie à « vtable pour XXX » » ou « ClassName::ClassName() » dans mon projet C ?

Pourquoi est-ce que j'obtiens des erreurs d'éditeur de liens « Référence non définie à « vtable pour XXX » » ou « ClassName::ClassName() » dans mon projet C ?

Linda Hamilton
Libérer: 2024-12-03 00:04:14
original
429 Les gens l'ont consulté

Why Am I Getting

Erreur de liaison GCC C : référence non définie à 'vtable for XXX', 'ClassName::ClassName()'

Lors de la liaison d'un C projet dans Eclipse-CDT, les utilisateurs peuvent rencontrer des erreurs d'éditeur de liens telles que "référence non définie à 'vtable pour XXX'" ou "référence non définie à 'ClassName::ClassName()'". Ces erreurs indiquent des problèmes sous-jacents qui empêchent la liaison réussie des bibliothèques.

1. Confirmation du type de bibliothèque statique

Pour vérifier la nature 64 bits des bibliothèques statiques, exécutez la commande suivante dans le terminal :

file /path/to/library.a | grep -i "64-bit"
Copier après la connexion

Si "64 bits" est présent dans la sortie, la bibliothèque est en 64 bits.

2. Validation des classes et des méthodes de la bibliothèque

Pour vérifier si la bibliothèque contient la classe et les méthodes attendues, utilisez un outil de visualisation d'en-tête C comme ctags ou lldb. Par exemple, en utilisant ctags dans le terminal :

ctags -R /path/to/library_header_files_directory
find /path/to/tags_file_directory NameOfClass
Copier après la connexion

Cette commande recherche le nom de la classe dans le fichier de tags généré à partir des fichiers d'en-tête et indique s'il existe dans la bibliothèque.

3. Comprendre l'erreur

Dans ce cas, les erreurs de l'éditeur de liens indiquent une définition manquante pour les fonctions virtuelles remplacées dans la classe "SomeOtherClass". La déclaration existe mais manque de mise en œuvre. Pour résoudre ce problème, fournissez une définition de la méthode manquante dans « SomeOtherClass ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal