Как избежать объявления "typedef void * sql_context" в коде C, созданном с помощью Pro C - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть заголовочный файл 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? Как я могу избавиться от этой ошибки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...