2017-02-08 14 views
0

Я интегрируя код asn1c в проект Xcode В настоящее время я получаю эту ошибку:.DEBUG ошибка ожидается идентификатор или «(»

/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"); 
} 

Какой способ исправить эта ошибка сборки?

Я столкнулся с подобными вопросами в StackOverflow, но не смог найти ответ, который мог бы мне помочь.

+4

Возможно, что-то есть '#define DEBUG 1' или что-то подобное? –

+1

@Ramis Плохая идея использовать все заглавные буквы для имен функций. Переименуйте функцию. Кажется, там определен макрос с тем же именем. Или используйте #undef DEBUG –

+0

Как всегда в подобных случаях, прочитайте * предварительно обработанный код *, чтобы убедиться, что знаете, что видит компилятор. С gcc это опция -E. Вероятно, существует флаг «debug build», который устанавливает «DEBUG» в константу с использованием препроцессора. – unwind

ответ

1

Я думаю, что есть окончательная версия DEBUG или #defined, как говорилось в @ammoQ. пожалуйста, проверьте другое местоположение и убедитесь, что нет объявлений RE просто измените его как DEBUG1 И попробуйте его