Maison >développement back-end >C++ >Erreur C++ : un problème externe non résolu est survenu, comment le modifier ?

Erreur C++ : un problème externe non résolu est survenu, comment le modifier ?

WBOY
WBOYoriginal
2023-08-21 21:12:383603parcourir

Lors du processus d'utilisation du langage de programmation C++, vous pouvez rencontrer des messages d'erreur. L'une des erreurs courantes est « Externe non résolu », également appelée « erreur de lien ». Ce problème est généralement dû à la définition d'une variable, d'une fonction ou d'un objet qui n'est pas correctement lié au code source. Afin de résoudre ce problème, les actions suivantes doivent être effectuées.

1. Vérifiez si les variables, fonctions ou objets sont correctement définis

Tout d'abord, vous devez vérifier si toutes les variables, fonctions ou objets du fichier de code ont été correctement définis. Assurez-vous que leurs noms et types correspondent à l'endroit où ils sont référencés dans le code source. Assurez-vous également que la portée de la variable, de la fonction ou de l'objet est correcte.

Par exemple, si une variable est définie dans un fichier .h et non dans un fichier .cpp, le fichier .h doit être inclus dans le fichier .cpp qui utilise la variable.

2. Vérifiez s'il manque des fichiers sources

Il existe également une raison courante pour "Externe non résolu" : certains fichiers de code source sont manquants. Si vous avez utilisé plusieurs fichiers de code source pour créer votre projet, vous devez ajouter tous les fichiers au projet. Vérifiez si des fichiers ont été accidentellement supprimés, déplacés ou renommés. Assurez-vous que les fichiers de code source sont correctement compilés pendant le processus de génération du projet.

3. Ajouter des fichiers de bibliothèque manquants

Parfois, vous devrez peut-être utiliser des fichiers de bibliothèque pour prendre en charge le code. Par exemple, si vous utilisez le fichier d'en-tête Windows.h, vous devez ajouter le fichier de bibliothèque Kernel32.lib pour prendre en charge l'utilisation de l'API Windows dans votre code.

Pour résoudre ce problème, vous devez vous assurer que le fichier de bibliothèque est disponible et a été correctement ajouté au projet. Dans l'IDE Visual Studio, vous pouvez ajouter des fichiers de bibliothèque en ouvrant les propriétés du projet et en sélectionnant l'onglet Linker.

4. Régénérez le projet

Si les opérations ci-dessus ont été complètement vérifiées et que le problème persiste, veuillez essayer de régénérer l'intégralité du projet. Parfois, des liens incorrects se produisent en raison de problèmes avec certains fichiers ou ressources. L'utilisation de Rebuild garantit que le projet est complètement nettoyé et reconstruit.

Conseils avancés :

1. Utilisez #pragma une fois ou header file guard

Utilisez #pragma une fois ou header file guard pour vous assurer que le fichier d'en-tête n'est inclus qu'une seule fois. Si un fichier de code contenant un fichier d'en-tête est compilé plusieurs fois, cela peut entraîner une erreur « Externe non résolue ».

Veuillez noter que dans certaines anciennes versions du compilateur, #pragma once ne peut pas être utilisé, veuillez utiliser des gardes d'en-tête à la place.

2. Utilisez des gardes d'inclusion

Si vous définissez votre propre classe ou structure, vous devez utiliser des gardes d'inclusion pour vous assurer que le fichier d'en-tête n'est inclus qu'une seule fois. Cela évite le problème de définir plusieurs fois la même classe ou structure, ce qui entraîne des erreurs « externes non résolues ».

3. Utilisez des espaces de noms

Placer les définitions dans le bon espace de noms peut éviter les conflits de noms. Si deux fichiers de code source différents définissent une variable ou une fonction portant le même nom, le compilateur ne peut pas les distinguer. Cela peut entraîner une erreur « Externe non résolu ».

Inclure l'espace de noms correct dans votre code peut éviter ce problème. L'ajout de la commande ou du qualificatif « utilisation de l'espace de noms » en haut de votre fichier de code source garantit que la fonction, la variable ou l'objet que vous utilisez provient du bon espace de noms.

Voici quelques conseils et méthodes qui peuvent vous aider à résoudre le problème « Externe non résolu » en C++. Le point clé à retenir est que vous devez d’abord vérifier que le code est correctement défini, puis rechercher les fichiers de code source ou les fichiers de bibliothèque manquants. Si cela ne résout toujours pas le problème, vous pouvez essayer des techniques avancées pour éviter les conflits de noms et les définitions en double.

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!

Déclaration:
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