У меня есть заголовочный файл a.h
хиджры
#ifndef A_H
#define A_H
typedef void* sql_context;
/other function and struct declarations..
#endif
и иметь файл Proc C.
db.pc
#include <a.h>
// other code
когда я компилирую db.pc, используя proc для генерации файла db.c, он объявляет typedef void* sql_context;
в db.c и также включает в себя a.h.
db.c
/* Thread Safety */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
#include <a.h>
//other code
Теперь, когда я компилирую db.c, я получаю следующую ошибку:
a.h: 2: ошибка: переопределение typedef ‘sql_context’
db.c: 3: note: предыдущая декларация sql_context была здесь
Есть ли способ или флаг, который я могу использовать, чтобы избежать автоматического объявления sql_context
? Как я могу избавиться от этой ошибки?