Я использую Eclipse CDT.Я настроил «внешний Builder» и создаю Makefiles автоматически.К сожалению, сгенерированные Make-файлы содержат абсолютный путь включения.Я хотел бы использовать сгенерированные файлы Makefile в других системах (где Eclipse не установлен) - есть ли способ заставить Eclipse использовать относительные пути в Makefile?
Я настроил каталог включаемых проектов в настройках ->Настройки инструмента -> Компилятор GCC C -> Включить пути, используя $ {workspace_log}.
Относительные пути, которые вы добавляете на вкладке «Проект> Свойства> C / C ++ Общие> Пути и символы> Включает», относятся к папке вашего проекта.
Те, которые появляются в сгенерированных файлах сборки, относятся косновное расположение Makefile.
Если вы используете относительный путь в 'include paths' (вместо ${workspace_loc}), то make-файл (и файлы .mk, которые он использует) также будет включать относительные пути.
${workspace_loc}
Есть лучший способ сделать это: «Проект> Свойства> Сборка C / C ++> Настройки> Настройки инструмента> Компилятор Cross G ++ [или GCC]> Включает». Нажмите кнопку плюс, затем напишите:
"$ {} ProjDirPath /../../../ somefolder1 / somefolder2"
Этот подход позволяет указать любую внешнюю папку по относительному пути к папке вашего проекта, даже если она находится в родительских подпапках.