这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » IAR编译报错:Error[Li006]: duplicate definiti

共3条 1/1 1 跳转至

IAR编译报错:Error[Li006]: duplicate definitions for

高工
2013-08-08 17:35:22     打赏

    今天在进行代码测试编译时出现了重复定义的错误,提示在对象文件led.o和usart.o中出现了上述变量重复定义的问题,可仔细检查了此变量并无多次定义,茫然无头绪,随对代码进行进一步的核查,发现原来是管脚出现了重复定义的问题:串口1重映射后的管脚和之前用做LED片选的管脚冲突了,随将重映射改回,一切正常,可纳闷为啥会报一个无关变量的重复定义呢?

另外补充一点:

    全局变量的定义,或者引用,放在.C文件中,别放在.h文件中,

    关于变量的声明,外部声明时,不可以再赋值。例:

错误代码:

    int i=0;

    extern int i= 0;

正确代码:

    int i=0;

    extern int i;




关键词: duplicate definitions     IAR    

高工
2013-08-08 21:21:07     打赏
2楼
对,是全局变量,但是全局变量未重复定义,其声名就在同一个文件里靠前的位置。

高工
2013-08-08 23:48:45     打赏
3楼
确实是,我把她们整到一个文件中啦,差的还很远啊 ,呜呜呜

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]