【发布时间】:2018-07-01 11:01:42
【问题描述】:
我想知道如何使用 qmake DEFINES 变量定义 C++ 预处理器宏。我已尝试执行以下操作:
项目文件
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。我不知道宏定义(顺便说一句非常简单)如何导致构建过程中的错误。
这是使用 c++ 的#define 定义的宏。他们的工作就像我预期的那样
#define TEMPORARY_UNUSED(x) (void)x;
#define BASE_CLASS_UNUSED(x) (void)x;
问题是:如何使用 qmake DEFINES 定义 c++ 预处理器宏以及我的宏如何导致编译错误。
PS我完全了解Q_UNUSED 宏,但我更喜欢有一个宏来指示该变量不仅未使用而且为什么它未使用.
P.S. 我发布的代码是我项目的 100%,没有更多的文件可以定义/重新定义其他任何内容。
【问题讨论】:
标签: macros c-preprocessor qmake