Кажется, что в программе, которую я унаследовал, мы можем передать переменные make, которые являются числами, но сейчас я бы хотел передать строку.Когда они передаются в виде чисел, это выглядит следующим образом:
CFLAGS += -DBUILD_NUMBER=$(BUILD_NUMBER)
, и я могу получить к нему доступ как int, например так:
fprintf(stderr, "\n%s v%d.%d.%d.%d\n", APPNAME, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, BUILD_NUMBER, MYBRANCH);
, но я, кажется, не достигаюто же самое со строкой.
CFLAGS += -DMYBRANCH=$(BRANCH)
fprintf(stderr, "\n%s v%d.%d.%d.%d.%s\n", APPNAME, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, BUILD_NUMBER, MYBRANCH);
Я получаю эту ошибку с приведенным выше:
main.cpp: In function ‘int args_parse_cmd_line(int, char**)’:
<command-line>:0:10: error: ‘FIL’ was not declared in this scope
main.cpp:72:114: note: in expansion of macro ‘MYBRANCH’
%s\n", APPNAME, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, BUILD_NUMBER, MYBRANCH);
^~~~~~~~
Может кто-нибудь дать мне совет, что я делаю неправильно?«FIL-1234» - это пример названия нашей ветви, которое я пытаюсь добавить в метаданные нашей сборки для отслеживаемости.