2016-10-24 5 views
-1

У меня есть файл заголовка version.h, где у меня есть версия моего приложения определено:Append номер версии в выходной файл для приложения C в Затмении

#define VERSION 0x0100 

Я хотел бы, чтобы добавить его в качестве суффикса к выходной файл. Поэтому вместо того, чтобы иметь myapp.elf, я хотел бы иметь myapp_0100.elf. Есть ли способ использовать символы в параметрах компиляции?

+1

Неправильный подход. 1) Узнайте, какие макросы. 2) Вы должны сделать это из сценария сборки. – Olaf

+0

Возможно, вы не знаете, что вы указали число как восьмеричное. Наверное, не то, что вы хотите ... Вместо этого используйте десятичное число или строку. – Lundin

+0

Да, спасибо. Мне нужно, чтобы это значение было шестнадцатеричным. Мне нужно сохранить номер версии, определенный в файле заголовка. Я собирался сделать скрипт, чтобы получить значение из файла, но я хотел убедиться, что другого варианта нет. – Valkyrie

ответ

2

Вы можете сделать обратное. Определите переменную в Eclipse и используйте ее при компиляции. Перейти к Project Properties-> C/C++ Build -> Build variables

Определить новую переменную blah со значением 0100. Затем в настройках сборки, в зависимости от типа вашего проекта, вы можете передать -DVERSION=${blah} компилятору. Он будет определять символ VERSION со значением. Сейчас в Project Properties-> C/C++ Build -> Setting выберете закладку Build Artifact. В имени артефакта вы можете установить myapp_${blah}.elf. Опять же, если ваш проект управляется без CDT, вы можете передать эту переменную в make-файл, чтобы он мог обработать его.