Я хочу знать, как определить макрос препроцессора C ++, используя переменную qmake DEFINES. Я пытался сделать следующее:
Файл проекта
TEMPLATE = app
CONFIG += c++14 console
SOURCES += main.cpp
DEFINES += "TEMPORARY_UNUSED(x)=\"(void)x;\""
DEFINES += "BASE_CLASS_UNUSED(x)=\"(void)x;\""
Файл Main.cpp
int main() {
int hello;
TEMPORARY_UNUSED(hello)
BASE_CLASS_UNUSED(hello)
}
Но это привело к следующей ошибке: [main.o] Error 2
. Я понятия не имею, как определение макроса (кстати, очень простое) может вызвать ошибки в процессе сборки.
Это макроопределения, использующие #define
в c ++. Они работают так, как я ожидал
#define TEMPORARY_UNUSED(x) (void)x;
#define BASE_CLASS_UNUSED(x) (void)x;
Вопрос: как определить макрос препроцессора c ++ с помощью qmake DEFINES и как мой макрос мог вызвать ошибки компиляции.
PS Я прекрасно осведомлен о макросе Q_UNUSED
, но я предпочитаю иметь макрос, который указывает не только на то, что переменная не используется, но и на , почему она не используется.
P.S. Код, который я разместил, составляет 100% моего проекта, больше нет файлов, которые определяют / переопределяют что-либо еще.