Невозможно указать относительный путь к каталогу включения в MVS 10 для C ++ - PullRequest
0 голосов
/ 09 июня 2011

У меня есть такая структура проекта, с парой заголовочных файлов, которые я хотел бы включить в программу: \ Project \ подкаталог \ SourceFile \ headerfile1.h \ Project \ подкаталог \ TestDirectory \ headerfile2.h \ Project \ подкаталог \ TestDirectory \ подкаталог \ SourceFile.cpp

SourceFile.cpp имеет #include "headerfile1.h" и #include "headerfile2.h".

В MVS, если я выберу Проект / Свойства / Свойства конфигурации / C / C ++ / Общие / Дополнительные каталоги включения, затем перейдите к расположениям SourceFile и TestDirectory, добавьте, добавьте местоположение headerfile1 и headerfile2 как пути включения, после чего все компилируется.

Тем не менее, пути включения указываются в проекте как абсолютные пути (C: \ Users ...... и т. Д.), А это не то, что мне нужно, я хочу указать их как относительные пути.

Я попытался отредактировать эти пути, используя миллионы различных комбинаций на случай, если я ненормальный и получаю уровни по косвенности одним, то есть я перепробовал все , . \ .. \ ... \ .... \ . \ TestDirectory .. \ TestDirectory ... \ TestDirectory .\Исходный файл ..\Исходный файл ...\Исходный файл ... \ подкаталог \ TestDirectory и т. д.

Бу ничего не работает. С чем-либо, кроме указанных абсолютных путей, включенные файлы не могут быть найдены. Что я делаю не так?

Спасибо

1 Ответ

1 голос
/ 10 июня 2011

Для операторов #include, использующих форму в кавычках, поиск файла начинается с каталога файла, содержащего оператор #include.В этом случае это будет каталог \ Project \ Subdirectory \ TestDirectory \ Subdirectory, содержащий файл SourceFile.cpp.

Чтобы добраться оттуда до headerfile1, необходимо дважды выполнить резервное копирование, чтобы добраться до «\ Project \ SubDirectory», изатем перейдите в SourceFile оттуда.Это дает вам это ...

#include "..\..\SourceFile\headerfile1.h"

Чтобы добраться до headerfile2, вам нужно сделать резервную копию только один раз, чтобы попасть в '\ Project \ SubDirectory \ TestDirectory' ...

#include "..\headerfile2.h"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...