DEBUG 错误预期标识符或'('

DEBUG error expected identifier or '('

我正在将 asn1c 代码集成到 Xcode 项目中。目前我收到此错误:

/asn1c/converter-sample.c:76:1: error: expected identifier or '('
DEBUG(const char *fmt, ...) {
^

源代码:

/* Debug output function */
static inline void
DEBUG(const char *fmt, ...) {  // 76th line
    va_list ap;
    if(!opt_debug) return;
    fprintf(stderr, "AD: ");
    va_start(ap, fmt);
    vfprintf(stderr, fmt, ap);
    va_end(ap);
    fprintf(stderr, "\n");
}

修复此构建错误的方法是什么?

我确实在 Whosebug 中查看过类似的问题,但找不到可以帮助我的答案。

我认为肯定有 DEBUG 的重新声明或 @ammoQ 所说的#defined。请检查其他位置并查看是否没有相同的 RE 声明 只需将其更改为 DEBUG1 并尝试

希望这对像我这样的人有所帮助。 我最近在 XCode 12 中集成一个 c 项目时遇到了这个问题,在我的例子中,它在 DEBUG = 0,[=25 中显示错误=]行。

typedef enum {
    DEBUG = 0,
    INFO,
} LogLevel;

我在项目的构建设置中了解到,在 Apple Clang 预处理 部分的 预处理器宏,设置了以下值

DEBUG=1

我删除了它,问题解决了。