Как добавить каталог включения на основе переменной среды в RHIDE без расширения?

REDHAWK IDE настаивает на расширении переменных среды при создании Makefile.am.ide файл. Например, предположим, что $SRC_ROOT является /srcpath и я добавляю путь включения в Path and Symbols окно раздела C / C ++ моего проекта, как показано ниже:

${env_var:SRC_ROOT}/include

сгенерированный Makefile.am.ide файл содержит:

rehawk_INCLUDES_auto = -I/srcpath/include

когда я действительно хочу это:

rehawk_INCLUDES_auto = -I$(SRC_ROOT)/include

Это важно, потому что этот файл используется другими членами команды, которые имеют разные значения для $SRC_ROOT, В настоящее время мы должны поместить путь включения в Makefile.am, но затем IDE не видит файлы заголовков в каталоге и видит ошибки для кода, указанного в отсутствующих заголовках.

Есть ли в любом случае, чтобы получить RHIDE, чтобы не расширять переменные среды, когда он генерирует Makefile.am.ide?

0

Решение

Не совсем то, что вы ищете, но вы всегда можете отключить автоматическое обновление файла Makefile.am.ide, отключив конструктор автоматического включения REDHAWK C ++. Это в свойствах проектов в разделе «Строители».

Это позволит вам добавить в раздел «Пути и символы» в Eclipse, при этом сборщик автоматического включения не выберет его и не добавит в свой Makefile.am.ide.

Если вы решите отключить этот компоновщик, вам нужно будет самостоятельно управлять добавлением новых исходных файлов.

0

Другие решения

Ответ Юсефа не плохой, но я нашел другой способ обойти эту проблему. В Makefile.amпереопределить redhawk_INCLUDES_auto Значение, чтобы быть тем, что я, что это должно быть:

include $(srcdir)/Makefile.am.ide

#Override the value from Makefile.am.ide that may be wrong!
override redhawk_INCLUDES_auto = -I$(SRC_ROOT)/include

Для этого требуется обновить любые пользовательские каталоги включения как в среде IDE, так и в Makefile.am файл, но управление исходными файлами все еще происходит автоматически.

Это все еще имеет проблему, что Makefile.am.ide Содержимое файла будет другим для других разработчиков, что усложняет контроль версий. Поэтому я не считаю это полным ответом на проблему.

0

По вопросам рекламы [email protected]