Visual Studio n'honore pas les répertoires include
J'ai été dans cette situation tout à fait quelques fois où visual studio n'a pas l'honneur de la autres Répertoires inclus quand il s'agit de lib
et header source files
. Par exemple, je viens de télécharger MyGUI code source et fait en sorte que l'inclure des répertoires étaient correctes. J'ai même mettre des chemins absolus, Visual Studio encore plaint qu'il ne pouvait pas trouver des fichiers d'en-tête.
Quelqu'un l'expérience de la même chose avec des projets, et, dans l'affirmative, est-il une solution à ce problème?Blockquote
EDIT: Mes excuses pour ne pas être en mesure de l'expliquer entièrement. Je sais que la bibliothèque et les fichiers sources ont différents répertoires include. Le projet que j'ai reçu a eu corriger les chemins de répertoire pour les autres Répertoires include et Supplémentaires de la Bibliothèque de Répertoires, mais Visual Studio pas encore réussi à les reconnaître correctement. Je peux faire un clic droit et ouvrir le fichier d'en-tête au sein de Visual Studio, mais lors de la compilation il se plaint toujours qu'il ne peut pas trouver ces fichiers d'en-tête. Je fais régulièrement des projets en s'appuyant sur un cadre que je me suis programmé, donc je suis très familier avec la façon de configurer les dépendances. C'est pourtant la deuxième fois que cela semble être le cas. Je ne me souviens pas qui la 3ème partie du projet j'ai essayé de compiler la dernière fois, mais Visual Studio tout simplement refusé de croire que le
Additional Include Directories
chemins où il faut chercher les fichiers d'en-tête. Je ne suis pas sûr de la façon de donner les détails complets de cette bibliothèque (MyGUI) mais je peux vous diriger vers le site où vous pouvez le télécharger pour l'essayer et voir si elle est capable de trouver les fichiers d'en-tête qui sont inclus dans le projet (s'il ne compile pas, c'est très bien, et c'est probablement à cause de dépendances supplémentaires, mais il devrait au moins être en mesure de trouver les fichiers dans le dossier commun, surtout quand je mets des chemins absolus dans les autres Répertoires inclus)
source d'informationauteur Samaursa
Vous devez vous connecter pour publier un commentaire.
Cela m'est arrivé une fois. Il s'est avéré que le manque de cohérence de la de Débogage vs Release. Quand j'ai modifié une génération, l'autre version a été compilée. Veuillez installer les deux versions avec le même inclure des dossiers et voir si cela fonctionne. Bonne chance.
J'ai trouvé (tombé) sur la solution (je pense). Il a quelque chose à voir avec le personnage de la limite imposée par le système d'exploitation. Bien que la limite devrait être de 260, pour moi, il tombe au-dessous de 150, voir cette discussion et des liens vers elle. J'ai téléchargé et décompressé le fichier à
C:\Users\MyUserName\My Documents\Downloads\Downloads From Chrome\MyGui3.0...
[etc]. J'ai appris il y a quelques temps de ne pas essayer de compiler des projets en vertu de ces longs trajets, mais cette fois complètement glissé mon esprit que VS ne m'avez pas donné un avertissement à tous et m'a dirigé dans la mauvaise direction. De toute façon, le découpage et le collage le projet deD:\
résolu le problème.je ne vais pas coche la réponse, toutefois, avant que quelqu'un le confirme.Pouvez-vous expliquer cela? Si je me souviens bien, il y a au moins deux endroits dans Visual Studio où vous pouvez configurer cette:
Tools/Options/Projects and Solutions/VC++ Directories
)Project/Properties/Configuration Properties/"C/C++"/General/Additional Include Directories
Si vous ajoutez les répertoires include par projet (#1), qui, je pense, vous, et d'essayer de comprendre à partir d'un autre projet, cela ne fonctionne évidemment pas. Essayez de les ajouter à la per-niveau d'installation et de voir si cela fonctionne.
Aussi, cela peut paraître stupide et simpliste, mais assurez-vous que le chemin d'accès est de droit (c'est à dire copier-coller dans l'Explorateur de la barre de chemin et voir si les fichiers d'en-tête sont dans ce dossier).
Si par fichiers lib-vous dire de la bibliothèque (.lib) des fichiers, l'emplacement du répertoire n'est pas spécifié par le biais de C/C++/Général/autres Répertoires inclus, mais plutôt par le biais de l'éditeur de liens/Général/Bibliothèque Supplémentaire Répertoires.
C'est logique, si vous pensez à ce sujet. C/C++ sont les options toutes les options de compilation, les paramètres impliqués avec la compilation .rpc et .h fichiers. Options du Linker sont toutes les options de liaison, les paramètres impliqués avec le lien .obj et .fichiers lib.
J'ai eu les mêmes symptômes dans mon projet de c++. La navigation à partir de l'en-tête de tête s'est bien passé, mais après basculement vers le fichier source de l'en-tête (disons
foo.cpp
), puis de la navigation pour une#include <bar.cpp>
dans le fichier source a échoué. J'ai eu l'erreur suivante:Après recherches, j'ai remarqué que le système de build path donné dans l'erreur où elle n'a pas prolongé avec les chemins d'inclusion du projet. En d'autres termes: IntelliSense ne savais pas que le fichier source (
foo.cpp
) faisait partie du projet, et par conséquent, il n'a pas utilisé les chemins d'inclusion du projet de recherche pour le#include <bar.cpp>
.Le correctif pour moi a été la création d'un fichier
intelliSense.cpp
(nom de fichier n'a pas d'importance) qui est une partie du projet, mais exclu de la compilation. Ce fichier contient un include pour chaque fichier source. ex:De cette façon IntelliSense sait que ces fichiers source du projet, et donc d'utiliser les chemins d'inclusion du projet pour résoudre le
#includes
dans les fichiers source.J'ai eu ce problème aussi. Tout comme sam, dit - cette valeur de chaîne contenant le chemin d'accès à votre cadre inclut doit être le même pour le Debug et Release configurations. Donc, la meilleure façon est de choisir "Configuration:Toutes les Configurations" et "Plate-forme:Toutes les plates-formes" à partir de les deux le contexte des listes de contrôle sur le haut de la fenêtre de propriétés du projet avant de taper ou copier à partir de l'explorateur windows barre d'adresse.