Redefinición del error typedef

Estoy tratando de integrar una biblioteca existente en mi proyecto. Pero sigo recibiendo este “Error de definición de definición de definición de letra” cuando bash comstackr. Aquí está el código que es parte de la biblioteca.

Código:

typedef struct _tagAbc Abc; typedef void *Apple (Abc* Orange); typedef struct _tagAbc { Apple red; } Abc; 

Parece que al comstackdor no le gustan la estructura declarada previamente y la definición real de la estructura en conjunto. ¿Hay algún lugar para solucionar este problema?

El código intenta tipearf struct _tagAbc dos veces, una en la primera línea y otra en la statement de la estructura real. Si modifica la statement de estructura como se muestra a continuación, debería funcionar correctamente.

 typedef struct _tagAbc Abc; typedef void *Apple (Abc* Orange); struct _tagAbc { Apple red; };