Я пытаюсь сделать какую-то простую систему, которая вычисляет количество сборок, включая эту информацию в .rc-файле (для Windows) и встречает проблему. Вот оно:Сделать C++ macro2 содержать цитировать тело макрокоманды
#define QUOTE(s) #s
#define A 0,0,0,1
#define A_STR QUOTE(A)
Расширение A_STR: "A"
но не "0,0,0,1"
, как я ожидал.
Ну, мне нужно A_STR
быть строковым представлением A
(вот что windres
ожидает увидеть в .rc файле), но я не могу найти способ сделать это.
Я уже пробовал smth как #define A_STR #A
, но он просто расширяется до #0,0,0,1
.
Я также пробовал использовать qmake вот так: DEFINES *= A_STR="<here-is-how-I-get-version>"
но gcc
получает его без кавычек, и у меня такая же проблема.
Это работает! Особая благодарность за отличное объяснение процесса расширения! – dazewell