打印

编译出错

[复制链接]
1231|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhenykun|  楼主 | 2012-12-8 15:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/****************************************************
创建目标 '目标 1'
PA51汇编 STARTUP.A51 ...
编译 main.c ...
编译 lcd1602.c ...
编译 key.c ...
编译 display.c ...
连接 ...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS

SYMBOL:
PSW_MEM

MODULE:
key.obj (KEY)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS

SYMBOL:
PSW

MODULE:
key.obj (KEY)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS

SYMBOL:
PSW_MEM

MODULE:
display.obj (DISPLAY)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS

SYMBOL:
PSW

MODULE:
display.obj (DISPLAY)
Program Size: data=70.1 xdata=0 code=1316
目标未产生
*///////////////////////////////////////////////////////////////////////////////////////////
沙发
wyjie| | 2012-12-8 15:41 | 只看该作者
好几个地方定义了 相同的变量。

使用特权

评论回复
板凳
yszong| | 2012-12-8 15:43 | 只看该作者
是的,只要在定义某个变量定义一次就可以了。

使用特权

评论回复
地板
jlyuan| | 2012-12-8 15:44 | 只看该作者
嗯,其余地方用到这个变量的时候  用 extern 做前缀

使用特权

评论回复
5
dengdc| | 2012-12-8 15:46 | 只看该作者
变量重复定义了,你是不是在头文件中定义了,然后多出包含了?

使用特权

评论回复
6
zhenykun|  楼主 | 2012-12-8 15:46 | 只看该作者
嗯,那我该?

使用特权

评论回复
7
heweibig| | 2012-12-8 15:48 | 只看该作者
也可以这样定义
#ifdef      A_GLOBALS
#define   A_EXT   
#else
#define   A_EXT    extern
#endif
然后在你定义变量的C文件中,声明
#define   A_GLOBALS
如果定义变量m,可以在头文件这样定义
A_EXT   unsigned char  m;

使用特权

评论回复
8
wuhany| | 2012-12-8 15:49 | 只看该作者
楼上方法不错,这样包含头文件就不会错了,呵呵

使用特权

评论回复
9
zhenykun|  楼主 | 2012-12-8 15:50 | 只看该作者
哦,知道了

使用特权

评论回复
10
zhenykun|  楼主 | 2012-12-8 15:50 | 只看该作者
先结贴了

使用特权

评论回复
11
Redstar2012| | 2012-12-10 22:45 | 只看该作者
这个变量有没有可能是定义为外部变量。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝