Есть ли способ сделать это, чтобы мне не нужно было ../Folder1/ перед всем?
Да, есть.Ответ зависит от нескольких факторов, и я уверен, что я пропущу несколько.
Проверьте следующее:
- В настройках компилятора установите флажок «Дополнительные включения» в разделе «C / C ++»."
- Также проверьте в" VC ++ "значение для" Включить каталоги "
- Проверьте настройку для" Игнорировать стандартные пути включения "в" C / C ++ / Препроцессор "
- Проверьте параметры предварительно скомпилированного заголовка
- Проверьте "#define" / "#undef" в ваших исходных файлах и настройках компилятора
- Проверьте таблицы свойств, которые ваш проект может использовать или наследовать
Если вы используете "foo.h" (вместо) препроцессор сначала будет искать в определенных папках вашего проекта и, наконец, в определенных папках IDE.Если вы используетесначала он запускается в стандартных папках include, например, тех, которые требуются для стандартных библиотек времени выполнения.
Когда файл использует «../foo.h», это путь относительно расположения файла, который включаетфайл.Могут быть хитрые исключения.
Есть еще много вещей, которые могут повлиять на то, как препроцессор находит пути включения.Если вы не уверены, что препроцессор делает с определенным файлом, вы можете сделать вывод препроцессора видимым, включив «Preprocess to a file» в настройках препроцессора.Файл показывает вам исходный код файла после завершения препроцессора и до того, как компилятор начинает свою работу.
Все становится намного проще с большим опытом и, в частности, четкой стратегией структуры папок / проектови как включить файлы.Например, убедитесь, что у вас есть «#pragma Once» в качестве первой строки без комментариев в каждом включаемом файле.
Надеюсь, это даст вам несколько идей для следующих шагов.Удачи!