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?

47
demandé sur MLM 2011-08-01 11:38:16

5 réponses

Si je vous comprends bien, vous avez besoin de ..\..\src

38
répondu MByD 2011-08-01 07:41:04

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:

les propriétés du projet

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):

supplémentaires comprennent des répertoires

Vous pouvez utiliser les Macros en tapant $(MACRO_NAME) (notez les crochets $ et round).

121
répondu eckes 2016-01-22 06:30:48

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.

19
répondu yvanvds 2015-04-17 02:22:35

Par défaut, tous les chemins que vous définissez seront relatifs. La question est: par rapport à quoi? Il y a plusieurs options:

  1. 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 .
  2. 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.

4
répondu Michael Haephrati 2018-10-12 20:29:33

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 ".

0
répondu user1741137 2015-03-19 12:14:36