在用keil编辑的时候提示这两条,怎么都找不出原因。

.objDebugmain.axf: Error: L6200E: Symbol __ARM_use_no_argv multiply defined (by lcd.o and main.o)..objDebugmain.axf: Error: L6200E: Symbol main multiply defined (by lcd.o and main.o).请问这是那出现的问题啊。我找了半天也没找到原因。

回复1# yfg123 本质,就是已经定义了两个main函数,自己仔细找一下,看有没有两个定义。解决方法如下:

1、首先打开Keil,新建一个汇编语言文件,在其中输入汇编代码,同时在最开头加入。

2、将汇编源文件进行编译。可以看到,编译结果窗口输出了一连串的error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL,每个ERROR都指向REG51.INC。

3、出现这种问题的原因在于REG51.INC对特殊寄存器进行了定义,选择汇编源文件,在弹出的列表中选择“Options for FIle:xxx”,其中xxx是具体的文件名。

4、在弹出的对话框中,找到Special Function Registers,将它下面的Define 8051 SFR Names取消勾选。

5、这时可以看到error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL没有了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-07-20
multiply defined指重复定义,说明存在变量在编译的过程中被至少两次定义。我遇到过的是我在common.h中定义了变量,然后其它.h文件又引用了common.h,这就使得keil每次编译其它.h时都会重复定义common.h中的变量,从而造成了重复定义(multiply defined)。本题为例,若存在led.h中有变量 char led0 =0这样的变量定义,在编写main.h的时候引用了#include “led.h”,编译就会出现重复定义。因此,建议将变量的定义放在.c文件中,这样若要在其它.c文件使用该变量,可以使用extern关键字。
第2个回答  2013-08-13
提示已经很清楚了,重复定义,在led和main两个文件中
第3个回答  2013-08-13
回复 1# yfg123 本质,就是你已经定义了两个main函数,你要自己仔细找一下,看有没有两个定义。

在用keil编辑的时候提示这两条,怎么都找不出原因。
1、首先打开Keil,新建一个汇编语言文件,在其中输入汇编代码,同时在最开头加入。2、将汇编源文件进行编译。可以看到,编译结果窗口输出了一连串的error A10: ATTEMPT TO DEFINE AN ALREADY DEFINED SYMBOL,每个ERROR都指向REG51.INC。3、出现这种问题的原因在于REG51.INC对特殊寄存器进行了定义,选择汇编...

用keil编辑的c语言出现以下错误 请大侠们看看怎么回事
你的代码本身可能没有问题,但是你的KEIL不是完整功能版的,估计你是在官网下的评估板,这个版本有限制,从报错的内容来看,应该是限制了你编译的代码规模。所以,你应该去弄其他版本的keil或者换编译器。

为什么用keil软件编程后检测总是error 56:can"t open file
原因:操作错误导致。解决方法:1.首先使用vimexports命令打开和编辑导出。2.输入内容并完成编辑。输入:wq保存编辑过的内容。3.无法打开文件进行书写?无法打开文件进行书写?4、是权限问题,那就用q版吧!命令退出当前编辑。5.退出后,使用sudovim命令,它使用超级权限。6. 要使用sudo,您需要在掌权之前输入...

keil错误:error c129: missing ';' before 'unsigned' 程序怎么修改还是...
接着,检查第6行代码,发现编译器提示缺少分号(';')。这个错误表明在'unsigned'关键字前面应有一个分号。解决步骤是:找到并确保在该行末尾添加一个分号。如果你不确定哪个位置,试着逐行查找,直到找到那一行的末尾。然后,选择'编译'选项,Keil会高亮显示出错误的位置。此时,你会看到错误提示,提示你...

为什么单片机KEIL每次打开都要重新建立工程文件
你在关闭keil前,先关闭工程,再打开keil就不会了

keiluvision4如果里面分析那排用不了啦怎么办
可能是系统转换编辑器出错。解决方案如下:1、首先先打开KEIL软件。依击“project”——“newproject”新建一个项目。点开ATMEL选中AT89C51,依次点“确定”——“是”。2、其次点击设置图标,切换到output选项卡。勾选CreateHEXFILE。3、最后在新弹出的界面点击“AddFilestoGroupSourceGroup1”。、选中c...

keil 编程出现错误,编辑错误 提示call ont to a funcation 还有too man...
把REGX51.H改为REG51.H。你的程序我试了次,没什么问题啊,至少编译是通过的

keil:syntax error near?这个报错怎么改?
新手对C语言语法不熟悉,或粗心大意,容易犯如遗漏括号、分号、错误使用关键字等基础错误。Keil并不像Eclipse那样,直接将错误定位到具体行,使得问题定位更具挑战性。面对"语法错误近于..."的提示,我的解决策略如下:首先,仔细阅读编译器提供的错误信息,寻找关键词行号(如图示的SECOND.C(101)),...

中文注释不能在keil 4\/5中正常显示——都是方框或乱码?
首先,确保安装的keil环境兼容中文显示。如使用中文操作系统,需确保字体设置正确,以便在代码编辑器中显示中文字符。其次,检查keil配置文件或相关设置,确保字符编码设置正确。keil内部的编码设置可能会影响到中文字符的显示。在keil的配置选项中查找编码设置,将其调整为支持中文显示的编码格式,如GBK或UTF-8...

在Keil C51软件用汇编时,编辑的程序出现“UNDEFINED SYMBOL”的错误...
可能原因:你没有选好芯片(即目标设备),编译器会根据你选的芯片,进行编译连接。P0,P1口都是在一个预定义文件里定义过的。也有可能是你的这个预定义文件丢失了。造成编译时,不认识P0,P1。

相似回答