web-dev-qa-db-fra.com

Visual Studio ne peut pas "voir" mes fichiers d'en-tête inclus

J'ai créé un projet "Démo" vide dans Visual Studio 2008 et ajouté des projets existants à ma solution. Inclus "MyHeader.h" (en-tête d'un autre projet) dans le fichier main.cpp qui se trouve dans 'Demo'. Le chemin d'accès aux fichiers d'en-tête a également été ajouté dans la section "Outils/Option/Répertoires VC++/Inclure". Mais intellisense dit: "Fichier 'MyHeader.h' non trouvé dans le répertoire du fichier source actuel ou dans les chemins du système de construction ..."

Comment le problème peut être résolu? Merci.

34
Nabijon

Si vous choisissez Project puis All Files Dans le menu, tous les fichiers doivent être affichés dans l'Explorateur de solutions qui se trouvent physiquement dans votre mappe de projet, mais ne sont pas (encore) inclus dans votre projet. Si vous cliquez avec le bouton droit sur le fichier que vous souhaitez ajouter dans l'explorateur de solutions, vous pouvez l'inclure.

18
TimothyHeyden

Supprimez le fichier .sdf qui se trouve dans le répertoire de votre solution. C'est juste la base de données Intellisense et Visual Studio la recréera la prochaine fois que vous ouvrirez cette solution. Cette base de données peut être corrompue et empêcher le IDE) de trouver des choses. Par ailleurs, étant donné que le compilateur génère cette information à la volée, il ne serait pas affecté.

21
aguazales

S'il est vrai que seul le IDE indique qu'il ne peut pas trouver les fichiers inclus, mais que la compilation a réussi, le problème est simplement qu'IntelliSense n'est pas complètement à jour des modifications récentes. Cela peut se produire. Selon ma propre expérience, la suppression du fichier .sdf (= base de données IntelliSense) générée dans votre répertoire de solutions oblige Visual Studio à le régénérer, de sorte qu'il soit à jour à nouveau. fera probablement la même chose, mais prend plus de temps puisque tout sera généré à nouveau alors.

3
MultiVAC

Cela m'est arrivé tout à l'heure, après avoir arrêté et redémarré l'ordinateur. Finalement, j'ai réalisé que l'architecture avait été modifiée en ARM à partir de x64.

2
Elliot

Je sais que c'est une question plus ancienne, mais aucune des réponses ci-dessus n'a fonctionné pour moi. Dans mon cas, le problème s'est avéré que j'avais des chemins d'accès absolus, mais sans lettres de lecteur. La compilation était correcte, mais Visual Studio n’a pas pu trouver un fichier d’inclusion lorsque j’ai cliqué avec le bouton droit de la souris et essayé de l’ouvrir. L'ajout des lettres de lecteur à mes chemins d'accès inclus a corrigé le problème.

Je ne recommanderais jamais de coder en dur des lettres de lecteur dans aucun aspect de vos fichiers de projet; utilisez des chemins relatifs, des macros, des variables d’environnement ou un mélange de l’arbre pour toute situation permanente. Cependant, dans ce cas, je travaille dans des projets temporaires où des chemins absolus étaient nécessaires à court terme. Ne pas être en mesure de cliquer avec le bouton droit de la souris pour ouvrir les fichiers était extrêmement frustrant et nous espérons que cela aidera les autres.

2
goug

Si Visual Studio indique que vous manquez un fichier dans le dossier de fichier source actuel, il existe une solution que j'ai utilisée. Faites un clic droit sur le fichier que vous voulez ajouter et choisissez Open Document, s'il n'existe pas vraiment, vous devriez voir quelque chose comme cannot find file in the source file path = "somewhere in your computer", vous pouvez ensuite ajouter votre fichier source dans ce chemin d’abord et voir s’il fonctionne.

1
Sam Liu

Essayez d'ajouter le fichier d'en-tête aux fichiers de votre projet. (clic droit sur projet -> ajouter un fichier existant).

0
Ivaylo Strandjev

Voici comment j'ai résolu ce problème.

  • Allez dans Projet -> Afficher tous les fichiers.

enter image description here

  • Cliquez avec le bouton droit de la souris sur tous les fichiers de l'Explorateur de solutions, puis cliquez sur Inclure dans le projet dans tous les fichiers à inclure.

enter image description here

Terminé :)

0
abe312

D'après mon expérience, avec VS2010, lorsque les fichiers d'inclusion ne peuvent pas être trouvés au moment de la compilation, un nettoyage, puis la compilation résout généralement le problème. Il n'est pas rare que l'éditeur puisse ouvrir un fichier include, puis que le compilateur annonce qu'il ne trouve pas ce fichier, même s'il est ouvert à l'écran!

0
john elemans