Получение Eclipse CDT для использования относительных путей включения в сгенерированных файлах Makefile - PullRequest
11 голосов
/ 22 октября 2010

Я использую Eclipse CDT.Я настроил «внешний Builder» и создаю Makefiles автоматически.К сожалению, сгенерированные Make-файлы содержат абсолютный путь включения.Я хотел бы использовать сгенерированные файлы Makefile в других системах (где Eclipse не установлен) - есть ли способ заставить Eclipse использовать относительные пути в Makefile?

Я настроил каталог включаемых проектов в настройках ->Настройки инструмента -> Компилятор GCC C -> Включить пути, используя $ {workspace_log}.

Ответы [ 3 ]

4 голосов
/ 16 января 2014

Относительные пути, которые вы добавляете на вкладке «Проект> Свойства> C / C ++ Общие> Пути и символы> Включает», относятся к папке вашего проекта.

Те, которые появляются в сгенерированных файлах сборки, относятся косновное расположение Makefile.

4 голосов
/ 16 ноября 2010

Если вы используете относительный путь в 'include paths' (вместо ${workspace_loc}), то make-файл (и файлы .mk, которые он использует) также будет включать относительные пути.

3 голосов
/ 27 мая 2016

Есть лучший способ сделать это: «Проект> Свойства> Сборка C / C ++> Настройки> Настройки инструмента> Компилятор Cross G ++ [или GCC]> Включает». Нажмите кнопку плюс, затем напишите:

"$ {} ProjDirPath /../../../ somefolder1 / somefolder2"

Этот подход позволяет указать любую внешнюю папку по относительному пути к папке вашего проекта, даже если она находится в родительских подпапках.

...