当前位置: 代码迷 >> 单片机 >> 【IAR】定义结构体出现的异常Error[e27]: redefined in module
  详细解决方案

【IAR】定义结构体出现的异常Error[e27]: redefined in module

热度:47   发布时间:2016-04-28 15:19:12.0
【IAR】定义结构体出现的错误Error[e27]: redefined in module
    想定义两个结构体,在WARN.h 文件中定义结构体,然后再WARN.c文件中使用:
    
ER_WARN.Span=0x0000;ER_WARN.Span=0x0000;等,

结构编译器报错:Error[e27]: Entry "ER_WARN" in module AD ( C:…… ) redefined in module FINGERPRINT (…… ) 


我就纳闷了,在WARN.h中定义,在WARN.c中使用怎么会报这个错误呢。(声明一下,结构贴的成员仅在WARN.c文件中调用,其他文件没有)。

然后我又试着,将以下的定义放到:CONFIG.h 总的头文件中去,结果还是出现这个问题。百思不得其解。


然后,把整个结构体定义放到WARN.c文件中,编译通过。我就想是不是struct WARNING ER_WARN;、struct WARNING WARN;这两个语句的问题,然后我单独把这个两个语句放到WARN.c文件中,红色部分依然留在WARN.h 中,编译也通过了……

很是纳闷,这是为什么?



struct WARNING         //报警
{
  unsigned char Weight; //吊重
  unsigned char Moment; //力矩
  unsigned char Span;           //限幅
  unsigned char Lifting; //起升
  unsigned char Rotary;         //回转
  unsigned char Wind;         //风速
  unsigned char DipAngle; //倾角
  unsigned char Hight; //高度
  
};

struct EARLY_WARNING         //预警
{
  unsigned char Weight; //吊重
  unsigned char Moment; //力矩
  unsigned char Span;           //限幅
  unsigned char Lifting; //起升
  unsigned char Rotary;         //回转
  unsigned char Wind;         //风速
  unsigned char DipAngle; //倾角
  unsigned char Hight; //高度
};

struct WARNING ER_WARN;
struct WARNING WARN
;
  相关解决方案