nanorobot 6 12 февраля Опубликовано 12 февраля (изменено) · Жалоба Скрипт сборки проекта написан на Python, сам Питоном не владею, был взят из демо проекта. Требуется передать компилятору GCC строку - короткий хэш git версии проекта. Саму строку в скрипте получаю так. def get_git_revision_short_hash() -> str: return subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode('ascii').strip() GIT_REV = get_git_revision_short_hash() print(GIT_REV) контрольный print выводит именно то , что нужно. Пытаюсь передать строку компилятору так CFLAGS += ' -DGIT_REV=' + GIT_REV В проекте использую так LOG_I("Git Revision:%s", GIT_REV); где LOG_I - макрос rt-thread, выводящий сообщения в UART. Компилятор дает ошибку: <command-line>: error: 'fa23128' undeclared (first use in this function) fa23128 - hash git-версии проекта. да, питон версия 3 Изменено 12 февраля пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 29 12 февраля Опубликовано 12 февраля · Жалоба кавычки забыли. Он ваш хэш воспринимает как идентификатор Как-то так: CFLAGS += ' -DGIT_REV="' + GIT_REV + '"' или как там у них, земноводных, принято scons поди? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 6 12 февраля Опубликовано 12 февраля (изменено) · Жалоба 14 minutes ago, MrYuran said: кавычки забыли. Он ваш хэш воспринимает как идентификатор Подскажите где именно кавычки. Я игрался с кавычками и двойными и одинарными - не вышло. О том, что воспринимает как идентификатор - догадываюсь... 14 minutes ago, MrYuran said: кавычки забыли. Он ваш хэш воспринимает как идентификатор Как-то так: CFLAGS += ' -DGIT_REV="' + GIT_REV + '"' или как там у них, земноводных, принято <command-line>: error: 'fa23128' undeclared (first use in this function) 14 minutes ago, MrYuran said: CFLAGS += ' -DGIT_REV="' + GIT_REV + '"' или как там у них, земноводных, принято scons поди? ага, scons Изменено 12 февраля пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 6 12 февраля Опубликовано 12 февраля (изменено) · Жалоба 27 minutes ago, nanorobot said: Подскажите где именно кавычки. Я игрался с кавычками и двойными и одинарными - не вышло. О том, что воспринимает как идентификатор - догадываюсь... <command-line>: error: 'fa23128' undeclared (first use in this function) ага, scons Для этой цели все, что стоит после -D в командной строке, нужно заключить в одинарные кавычки. Например: CPPFLAGS += -D'DHCPD_SERVER_IP="192.168.4.1"' Вычитал это(вверху) - надо еще как то одинарных кавычек добавить, ... Но вот как это сделать .. впрочем не уверен что причина здесь - судя по выхлопу компилятора. Изменено 12 февраля пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 65 17 февраля Опубликовано 17 февраля · Жалоба GIT_REV = 'fa23128' CFLAGS = ' -DGIT_REV=\'"' + GIT_REV + '"\'' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться