Существует два способа решения вашей проблемы. Вы уже отметили первое, что вы всегда можете использовать относительные пути (относительно исходного файла).
#include "..\Math\math.h"
Это будет отлично работать. Вы можете также изменить свои свойства проекта C ++, чтобы добавить список включаемых каталогов. Это будет очень полезно для вас, когда вы начнете работать над проектами, которые используют много библиотек. Чтобы добавить включаемые каталоги, вам необходимо:
- щелкните правой кнопкой мыши на своем проекте в обозревателе решений и выберите Свойства.
- На левой панели щелкните вкладку C / C ++> General .
- В свойстве, которое говорит Дополнительные каталоги включения , щелкните стрелку раскрывающегося списка (сначала вам может понадобиться щелкнуть текст внутри) и выберите Изменить ...
Отсюда вы можете добавить список включаемых каталогов, которые вы будете использовать в своем проекте. Вы можете использовать:
Абсолютные Пути
C:\Path\to\Math
Относительные пути (относительно вашего файла .vcxproj)
..\..\relative\path\to\Math
Макросы (Visual Studio выведет список доступных макросов)
($SolutionDir)..\path\to\Math
Вы увидите, как часто используются макросы, когда речь идет о C ++ и других проектах Visual Studio не только для включаемых каталогов, но и для событий сборки.
Как только вы добавили список включаемых каталогов, вы можете вернуться к включению ваших заголовков в исходный код как обычно:
#include "math.h"
Если вам нужно использовать относительный путь из одной из включенных вами папок, вы также можете сделать это.
// some directory inside of Math
#include "MoreMath\moremath.h"
// some directory above Math
#include "..\AboveMath\abovemath.h"
Надеюсь, это поможет!