C typedef错误的重新定义

C typedef错误的重新定义,c,C,我正在尝试将现有库集成到我的项目中。但当我试图编译时,我总是遇到这个“重新定义typedef错误”。这是代码库的一部分 代码: 编译器似乎不喜欢将预先声明的结构和结构的实际定义放在一起。有什么地方可以解决这个问题吗?代码尝试键入def struct\u tagAbc两次,一次在第一行,一次在实际的结构声明中。如果按如下所示修改结构声明,它将正常工作 typedef struct _tagAbc Abc; typedef void *Apple (Abc* Orange); struct _ta

我正在尝试将现有库集成到我的项目中。但当我试图编译时,我总是遇到这个“重新定义typedef错误”。这是代码库的一部分

代码:


编译器似乎不喜欢将预先声明的结构和结构的实际定义放在一起。有什么地方可以解决这个问题吗?

代码尝试键入def struct\u tagAbc两次,一次在第一行,一次在实际的结构声明中。如果按如下所示修改结构声明,它将正常工作

typedef struct _tagAbc Abc;
typedef void *Apple (Abc* Orange);

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

struct _tagAbc
{
    Apple red;
};