Je suis récemment passé de Code :: Blocks à Visual Studio, et dans Code :: Blocks, on pourrait simplement ajouter une classe et l'inclure tout de suite. Cependant, chaque fois que je fais la même chose dans Visual Studio avec l'instruction suivante:
#include "includedFile.h"
ou
#include "include/includedFile.h"
Cela ne fonctionne pas et j'obtiens l'erreur:
impossible d'ouvrir le fichier d'inclusion: 'includedFile.h'; Aucun fichier ou répertoire de ce nom.
Y a-t-il une case ou un paramètre que je dois cocher? Ou dois-je ajouter chaque en-tête en tant que dépendance manuellement?
Voici le code de la classe en question:
#pragma once
class Public
{
public:
static const int SCREEN_WIDTH=1000;
static const int SCREEN_HEIGHT=1250;
Public(void);
~Public(void);
};
Public.cpp:
#include "Public.h"
Public::Public(void)
{
}
Public::~Public(void)
{
}
Comment cela est inclus:
#include "Public.h"
J'ai eu ce même problème allant de gcc à Visual Studio pour la programmation en C. Assurez-vous que votre fichier d'inclusion est bien dans le répertoire - ne s'affiche pas uniquement dans l'arborescence du projet VS. Pour moi, dans d'autres langues, copier dans un dossier de l'arborescence du projet déplacerait effectivement le fichier. Avec Visual Studio 2010, coller dans "Fichiers d'en-tête" ne mettait PAS le fichier .h là.
Veuillez vérifier votre répertoire actuel pour la présence du fichier include. Le placer dans le dossier "en-têtes" de l'explorateur de projets/solutions n'était pas suffisant.
Accédez aux propriétés de votre projet (Projet -> Propriétés -> Propriétés de configuration -> C/C++ -> Général) et dans le champ Répertoires d'inclusion supplémentaires, ajoutez le chemin d'accès à votre fichier .h.
Et assurez-vous que votre configuration et votre plate-forme sont les actives. Exemple: Configuration: Actif (Debug) Plate-forme: Actif (Win32).
Vous devez définir le chemin d'accès du préprocesseur pour rechercher ces fichiers d'inclusion, s'ils ne se trouvent pas dans le dossier du projet.
Vous pouvez définir le chemin dans répertoires VC++ , ou dans répertoires d'inclusion supplémentaires . Les deux se trouvent dans les paramètres du projet.
Par défaut, Visual Studio recherche les en-têtes dans le dossier où se trouve votre projet ($ ProjectDir) et dans les répertoires des bibliothèques standard par défaut. Si vous devez inclure quelque chose qui n'est pas placé dans votre répertoire de projet, vous devez ajouter le chemin d'accès au dossier afin d'inclure:
Accédez aux propriétés de votre projet (Projet -> Propriétés -> Propriétés de configuration -> C/C++ -> Général) et dans le champ Additional Include Directories
ajoutez le chemin à votre fichier .h.
Vous pouvez également, comme l'a suggéré Chris Olen, ajouter le chemin d'accès au champ Répertoires VC++.
J'ai trouvé ce post parce que j'avais la même erreur dans Microsoft Visual C++. (Bien qu'il semble que sa cause soit un peu différente de la question ci-dessus.)
J'avais placé le fichier que j'essayais d'inclure dans le même répertoire, mais il était toujours introuvable.
Mon include ressemblait à ceci: #include <ftdi.h>
Mais quand je l'ai changé en ceci: #include "ftdi.h"
alors il l'a trouvé.
Si vous avez essayé les autres réponses et que votre fichier d'inclusion est toujours introuvable, voici quelques étapes de débogage et de contrôle de cohérence supplémentaires:
#include
au lieu du chemin absolu du fichier d’en-tête, et voyez si le fichier peut être trouvé maintenant. Sinon, copiez-collez le chemin de votre code source dans une ligne de commande pour valider que le fichier existe dans ce chemin complet sans aucune faute de frappe. Ouvrez le fichier d'en-tête pour vous assurer d'avoir un accès en lecture. (Modifiez le code source lorsque vous avez terminé.)Additional Include Directories
, essayez de cliquer sur la liste déroulante déroulante pour Additional Include Directories
et sélectionnez <Edit...>
. Cela vous montrera evaluated values
de chemins. (Si les valeurs évaluées correctes ne sont pas affichées, les variables de votre chemin risquent de ne pas être définies. Cliquez sur Macros>>
pour voir les variables.) Copiez-collez le chemin évalué dans l'explorateur Windows pour valider son existence.Voici une solution étrange (qui pour être honnête, je ne comprends pas tout à fait) qui s’est avérée être ma réponse à cette question.
Dans la fenêtre Propriétés -> C++ -> Général, au lieu de lier le chemin d'accès au fichier dans des "répertoires d'inclusion supplémentaires". Mettez "." et décochez "hériter des valeurs par défaut du parent ou du projet".
J'espère que cela t'aides.
Si votre problème persiste, c'est certainement parce que vous essayez de compiler une version différente de vos paramètres actuels.
Par exemple, si vous définissez votre Additional Include Directories
Dans Debug x64, assurez-vous que vous compilez avec la même configuration.
Vérifiez ceci: Build > Configuration Manager... >
Il y a sûrement quelque chose comme ça dans la configuration de votre solution active: Debug x86 (Win32) platform
.