У нас есть несколько проектов Eclipse (использующих систему сборки Eclipse).В большинстве проектов, если я добавлю некоторые пути включения в параметры уровня проекта («Проект» -> «Свойства» -> «Сборка C / C ++» -> «Настройки» -> «Наборы инструментов» -> «Включает» -> «Включить пути»), они будут видны при компиляции всех файлов в разных подпапкахэтого проекта.
Однако в одном проекте это не работает - в некоторых случаях мне приходится отдельно устанавливать пути включения для каждой подпапки или даже отдельные файлы cpp, которые включают заголовки из этого пути.В противном случае, во время компиляции включенный заголовок не будет виден компилятору.
Моим первоначальным подозрением было то, что это вызвано тем, как папки добавляются в этот проект.Мне показалось, что если тип папки - «Связанная папка» (с параметром «Местоположение» - «PROJECT_LOC .. ...»), то он наследует настройки проекта, но если его тип - «Папка», то это не так.Однако, вероятно, это не так, потому что после внесения некоторых изменений (не знаю, какие именно изменения) связанная папка также начала «жить самостоятельно» (а также для этой папки в .cproject появилась структура
Поэтому еще одно подозрение заключается в том, что если в папки / файлы вносятся какие-либо изменения, то его параметры разветвляются из параметров проекта и перестают наследовать параметры (или, по крайней мере, включать пути).
Может ли кто-нибудь объяснить, в чем заключается логика наследования уровня проекта для подпапок / конкретных файлов?Как правильно это настроить?И как лучше всего исправить ситуацию, когда некоторые папки наследуют настройки, а некоторые нет?
Мы используем:
Eclipse IDE for GNU ARM & RISC-V C/C++ Developers
Version: 2018-09 (4.9.0)
Build id: 20180930-0922