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

共5条 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 19:41:25     打赏
2楼

楼主 系统报错的重复定义的对象是什么啊?

是一个全局变量吗?



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

院士
2013-08-08 21:54:21     打赏
4楼

估计是你的声明与引用出了问题。




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

共5条 1/1 1 跳转至

回复

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