Comment définir des chemins relatifs dans le projet Visual Studio?
J'ai une bibliothèque et une application console qui utilise une bibliothèque. La bibliothèque a un dossier avec des fichiers source et d'en-tête.
Mon Projet se trouve dans un répertoire enfant/interne mais ce répertoire de bibliothèque que je veux inclure se trouve dans un répertoire parent/supérieur.
Répertoire de mon projet:
H:Gmail_04gsasl-1.0liblibgsaslMain
Les fichiers inclus sont ici:
H:Gmail_04gsasl-1.0src
Comment puis-je utiliser les chemins relatifs au répertoire du projet, pour inclure les dossiers qui se trouvent dans un répertoire parent/supérieur?
5 réponses
Au lieu d'utiliser des chemins relatifs, vous pouvez également utiliser les macros prédéfinies de VS pour y parvenir.
$(ProjectDir)
pointe vers le répertoire de votre .vcproj
fichier, $(SolutionDir)
est le répertoire de la .sln
fichier.
, Vous obtenez une liste des macros disponibles lors de l'ouverture d'un projet, allez à
Propriétés → Propriétés de Configuration → C/C++ → Général
et appuyez sur les trois points:
Dans la boîte de dialogue suivante, appuyez sur Macros pour voir les macros qui sont prédéfinis par le Studio (consultez MSDN pour leur signification):
Vous pouvez utiliser les Macros en tapant $(MACRO_NAME)
(notez les crochets $
et round).
J'ai déjà utilisé une syntaxe comme celle-ci:
$(ProjectDir)..\headers
Ou
..\headers
Comme d'autres l'ont souligné, le répertoire de départ est celui dans lequel se trouve votre fichier de projet(vcproj
ou vcxproj
), pas celui où se trouve votre code principal.
Par défaut, tous les chemins que vous définissez seront relatifs. La question est: par rapport à quoi? Il y a plusieurs options:
- spécifiant un fichier ou un chemin sans rien avant. Par exemple: "mylib.lib". Dans ce cas, le fichier sera recherché dans le répertoire de sortie .
- Si vous ajoutez "..\ ", le chemin sera calculé à partir du chemin réel où le.fichier sln réside.
Veuillez noter qu'après une macro telle que $(SolutionDir), il n'y a pas besoin d'ajouter une barre oblique inverse "\". Utilisez simplement $(SolutionDir)mylibdir\mylib.lib . Dans le cas où vous ne pouvez pas le faire fonctionner, ouvrez le fichier de projet en externe à partir du bloc-notes et vérifiez-le.
Dans Visual Studio 2013, vous pouvez regarder les propriétés de n'importe quel fichier source. Cliquez sur le fichier via l'Explorateur de solutions.
L'une de ces propriétés est le " Chemin relatif ".