ICC错误集锦 看懂ICC AVR的报错.docx
《ICC错误集锦 看懂ICC AVR的报错.docx》由会员分享,可在线阅读,更多相关《ICC错误集锦 看懂ICC AVR的报错.docx(10页珍藏版)》请在冰豆网上搜索。
ICC错误集锦看懂ICCAVR的报错
ICC错误集锦看懂ICCAVR的报错
新手用ICC编程的时候,经常会出现一些错误,现在将常见的错误报告整理如下。
这里的一些错误是我为了展示而故意制造的,欢迎你提供你遇到的错误。
排名不分先后:
一、正常编译通过
CODE:
C:
\icc\bin\imakew-fmain.mak
iccavr-c-IC:
\icc\include\-e-DATMEGA-DATMega16-l-g-Mavr_enhancedD:
\桌面\实验教程\LED应用\霓虹灯\main.c
iccavr-omain-LC:
\icc\lib\-g-ucrtatmega.o-bfunc_lit:
0x54.0x4000-dram_end:
0x45f-bdata:
0x60.0x45f-dhwstk_size:
16-beeprom:
1.512-fihx_coff-S2@main.lk -lcatmega
Device1%full.
Done.
[Copytoclipboard]
这是我们最想看到的了,万事大吉。
二、工程中未加入.C文件
CODE:
C:
\icc\bin\imakew-fmain.mak
iccavr-omain-LC:
\icc\lib\-g-ucrtatmega.o-bfunc_lit:
0x54.0x4000-dram_end:
0x45f-bdata:
0x60.0x45f-dhwstk_size:
16-beeprom:
1.512-fihx_coff-S2@main.lk -lcatmega
unknownfiletype@main.lk,passedtolinker
!
ERRORunknownfiletype'@main.lk'
C:
\icc\bin\imakew.exe:
Errorcode1
Done:
thereareerror(s).Exitcode:
1
[Copytoclipboard]
解决办法:
将你的程序加入工程中,可以右键程序区>>ADDtoproject
三、程序没有后缀名,或者后缀名不正确。
CODE:
C:
\icc\bin\imakew-fmain.mak
C:
\icc\bin\imakew.exe:
'main'isuptodate
Done.
[Copytoclipboard]
这是一个很难理解的错误,它是由工程中的程序文件没有后缀名造成的。
解决办法:
将原有文件移出工程,将文件的后缀名改为.C,然后再加入工程中。
四、没有main函数
CODE:
C:
\icc\bin\imakew-fmain.mak
iccavr-c-IC:
\icc\include\-e-DATMEGA-DATMega16-l-g-Mavr_enhancedD:
\桌面\实验教程\LED应用\霓虹灯\main.c
iccavr-omain-LC:
\icc\lib\-g-ucrtatmega.o-bfunc_lit:
0x54.0x4000-dram_end:
0x45f-bdata:
0x60.0x45f-dhwstk_size:
16-beeprom:
1.512-fihx_coff-S2@main.lk -lcatmega
!
ERRORfile'crtatmega.o':
undefinedsymbol'_main'
C:
\icc\bin\imakew.exe:
Errorcode1
Done:
thereareerror(s).Exitcode:
1
[Copytoclipboard]
解决办法,编写程序主函数MAIN。
五、没有选择目标芯片出现如下错误:
CODE:
C:
\icc\bin\imakew-fmain.mak
iccavr-c-IC:
\icc\include\-e-l-g-Wa-WD:
\桌面\实验教程\LED应用\霓虹灯\main.c
iccavr-omain-LC:
\icc\lib\-g-Wl-W-bfunc_lit:
0.0x2000-dram_end:
0x25f-bdata:
0x60.0x25f-dhwstk_size:
16-beeprom:
1.512-fihx_coff-S2@main.lk
!
EC:
\icc\lib\crtAVR.o(41):
Codeaddress0alreadycontainsavalue
!
EC:
\icc\lib\crtAVR.o(41):
Codeaddress0x1alreadycontainsavalue
C:
\icc\bin\imakew.exe:
Errorcode1
Done:
thereareerror(s).Exitcode:
1
[Copytoclipboard]
解决办法:
project>>Options>>target>>deviceconfiguration选择合适的芯片。
六、缺少分号
CODE:
C:
\icc\bin\imakew-fmain.mak
iccavr-c-IC:
\icc\include\-e-DATMEGA-DATMega16-l-g-Mavr_enhancedD:
\桌面\实验教程\LED应用\霓虹灯\main.c
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(52):
unrecognizedstatement
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(53):
syntaxerror;found`}'expecting`;'
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(53):
syntaxerror;found`endofinput'expecting`}'
C:
\icc\bin\imakew.exe:
Errorcode1C:
\icc\bin\imakew.exe:
'main.o'removed.
Done:
thereareerror(s).Exitcode:
1
[Copytoclipboard]
上面的报告说明了第52行缺少一个分号,预期分号的地方出现了“}”。
解决方法,在52行末尾添加分号。
类似的有:
缺少}的报错
CODE:
C:
\icc\bin\imakew-fmain.mak
iccavr-c-IC:
\icc\include\-e-DATMEGA-DATMega16-l-g-Mavr_enhancedD:
\桌面\实验教程\LED应用\霓虹灯\main.c
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(55):
illegalstatementtermination
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(55):
skipping`void'
!
WD:
\桌面\实验教程\LED应用\霓虹灯\main.c(55):
[warning]callingfunctionwithoutprototypemaycauseerrors
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(56):
syntaxerror;found`{'expecting`;'
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(57):
syntaxerror;found`endofinput'expecting`}'
C:
\icc\bin\imakew.exe:
Errorcode1C:
\icc\bin\imakew.exe:
'main.o'removed.
Done:
thereareerror(s).Exitcode:
1
[Copytoclipboard]
七:
变量没有定义
CODE:
C:
\icc\bin\imakew-fmain.mak
iccavr-c-IC:
\icc\include\-e-DATMEGA-DATMega16-l-g-Mavr_enhancedD:
\桌面\实验教程\LED应用\霓虹灯\main.c
!
ED:
\桌面\实验教程\LED应用\霓虹灯\main.c(48):
undeclaredidentifier`i'
C:
\icc\bin\imakew.exe:
Errorcode1C:
\icc\bin\imakew.exe:
'main.o'removed.
Done:
thereareerror(s).Exitcode:
1
[Copytoclipboard]
解决办法:
在程序开始前添加变量定义,比如unsignedchari;注意,定义变量要在函数的最前面进行,及在进行计算操作之前定义所有变量。
第1楼:
回复主题:
ICCAVR报错集锦
发布时间:
2008-2-25下午5:
00
提问者:
Williams
感谢[小飞]一凡提供下面的内容。
!
Etouchpad.c(67):
unrecognizedstatement
!
Etouchpad.c(68):
syntaxerror;found`void'expecting`;'上一行缺少“;”号所致。
!
Wtouchpad.c(325):
[warning]callingfunctionwithoutprototypemaycauseerrors没有在头文件中添加调用的函数库
!
EE:
\ICCAVR\icc\user001\main.c(100):
undeclaredidentifier`temp'错误:
变量'temp'未声明!
ED:
\iccavr6.31.A\icc\lib\crtAVR.(41):
Codeaddress0alreadycontainsavalue!
ED:
\iccavr6.31.A\icc\lib\crtAVR.(41):
Codeaddress0x1alreadycontainsavalue没有选择芯片型号。
!
Elibrary(31)area'text'notlargeenough程序空间不够。
?
!
E_3Q0.AAA(0):
area'data'notlargeenough内存不足
C:
/icc/include/iom8v.h(18):
D:
\icc圆织机程序\8.c(288):
MacroredefinitionofTWBR重复定义TWBR
callingfunctionwithoutprototypemaycauseerrors没有extern声明
!
Elianxi.o(103):
multipledefine:
'_main'
main函数重复了,应该只能有一个main.
[warning]declaringafunctionwithoutprototypemaycauseerrors函数原型没有声明。
你调用的某个函数没有声明。
Ambiguousoperatorsneedparentheses不明确的运算需要用括号括起
Ambiguoussymbol``xxx``不明确的符号
Argumentlistsyntaxerror参数表语法错误
Arrayboundsmissing丢失数组界限符
Arraysizetoolarge数组尺寸太大
Badcharacterinparamenters参数中有不适当的字符
Badfilenameformatinincludedirective包含命令中文件名格式不正确
Badifdefdirectivesynatax编译预处理ifdef有语法错
Badundefdirectivesyntax编译预处理undef有语法错
Bitfieldtoolarge位字段太长
Callofnon-function调用未定义的函数
Calltofunctionwithnoprototype调用函数时没有函数的说明
Cannotmodifyaconstobject不允许修改常量对象
Caseoutsideofswitch漏掉了case语句
Casesyntaxerror
Case语法错误
Codehasnoeffect代码不可述不可能执行到
Compoundstatementmissing{分程序漏掉"{"
Conflictingtypemodifiers不明确的类型说明符
Constantexpressionrequired要求常量表达式
Constantoutofrangeincomparison在比较中常量超出范围
Conversionmaylosesignificantdigits转换时会丢失意义的数字
Conversionofnearpointernotallowed不允许转换近指针
Couldnotfindfile``xxx``找不到XXX文件
Declarationmissing;说明缺少";"
[小飞]一凡(490152151)12:
03:
21很多人用它,学起来资源多. 圣心决(350310876)12:
03:
26
Declarationsyntaxerror说明中出现语法错误
Defaultoutsideofswitch
Default出现在switch语句之外
Definedirectiveneedsanidentifier定义编译预处理需要标识符
Divisionbyzero用零作除数
Dostatementmusthavewhile
Do-while语句中缺少while部分
Enumsyntaxerror枚举类型语法错误
Enumerationconstantsyntaxerror枚举常数语法错误
Errordirective:
xxx错误的编译预处理命令
Errorwritingoutputfile写输出文件错误
Expressionsyntaxerror表达式语法错误
Extraparameterincall调用时出现多余错误
Filenametoolong文件名太长
Functioncallmissing)函数调用缺少右括号
Fuctiondefinitionoutofplace函数定义位置错误
Fuctionshouldreturnavalue函数必需返回一个值
Gotostatementmissinglabel
Goto语句没有标号
Hexadecimaloroctalconstanttoolarge
16进制或8进制常数太大
Illegalcharacter``x``非法字符x
Illegalinitialization非法的初始化
Illegaloctaldigit非法的8进制数字
Illegalpointersubtraction非法的指针相减
Illegalstructureoperation非法的结构体操作
Illegaluseoffloatingpoint非法的浮点运算
Illegaluseofpointer指针使用非法
Improperuseofatypedefsymbol类型定义符号使用不恰当
In-lineassemblynotallowed不允许使用行间汇编
Incompatiblestorageclass存储类别不相容
Incompatibletypeconversion不相容的类型转换
Incorrectnumberformat错误的数据格式
Incorrectuseofdefault
Default使用不当
第2楼:
回复主题:
ICCAVR报错集锦
发布时间:
2008-2-25下午5:
01
提问者:
Williams
Invalidindirection无效的间接运算
Invalidpointeraddition指针相加无效
Irreducibleexpressiontree无法执行的表达式运算
Lvaluerequired需要逻辑值0或非0值
Macroargumentsyntaxerror宏参数语法错误
Macroexpansiontoolong宏的扩展以后太长
Mismatchednumberofparametersindefinition定义中参数个数不匹配
Misplacedbreak此处不应出现break语句
Misplacedcontinue此处不应出现continue语句
Misplaceddecimalpoint此处不应出现小数点
Misplacedelifdirective不应编译预处理elif
Misplacedelse此处不应出现else
Misplacedelsedirective此处不应出现编译预处理else
Misplacedendifdirective此处不应出现编译预处理endif
Mustbeaddressable必须是可以编址的
Musttakeaddressofmemorylocation必须存储定位的地址
Nodeclarationforfunction``xxx``没有函数xxx的说明
Nostack缺少堆栈
Notypeinformation没有类型信息
Non-portablepointerassignment不可移动的指针(地址常数)赋值
Non-portablepointercomparison不可移动的指针(地址常数)比较
Non-portablepointerconversion不可移动的指针(地址常数)转换
Notavalidexpressionformattype不合法的表达式格式
Notanallowedtype不允许使用的类型
Numericconstanttoolarge数值常太大
Outofmemory内存不够用
Parameter``xxx``isneverused能数xxx没有用到
Pointerrequiredonleftsideof->符号->的左边必须是指针
Possibleuseof``xxx``beforedefinition在定义之前就使用了xxx(警告)
Possiblyincorrectassignment赋值可能不正确
Redeclarationof``xxx``重复定义了xxx
Redefinitionof``xxx``isnotidentical
xxx的两次定义不一致
Registerallocationfailure寄存器定址失败
Repeatcountneedsanlvalue重复计数需要逻辑值
Sizeofstructureorarraynotknown结构体或数给大小不确定
Statementmissing;语句后缺少";"
Structureorunionsyntaxerror结构体或联合体语法错误
Structuresizetoolarge结构体尺寸太大
Subscriptingmissing]下标缺少右方括号
Superfluous&withfunctionorarray函数或数组中有多余的"&"
Suspiciouspointerconversion可疑的指针转换
Symbollimitexceeded符号超限
Toofewparametersincall函数调用时的实参少于函数的参数不
Toomanydefaultcases
Default太多(switch语句中一个)
Toomanyerrororwarningmessages错误或警告信息太多
Toomanytypeindeclaration说明中类型太多
Toomuchautomemoryinfunction函数用到的局部存储太多
Toomuchglobaldatadefinedinfile文件中全局数据太多
Twoconsecutivedots两个连续的句点
Typemismatchinparameterxxx参数xxx类型不匹配
Typemismatchinredeclarationof``xxx``
xxx重定义的类型不匹配
Unabletocreateoutputfile``xxx``无法建立输出文件xxx
Unabletoopenincludefile``xxx``无法打开被包含的文件xxx
Unabletoopeninputfile``xxx``无法打开输入文件xxx
Undefinedlabel``xxx``没有定义的标号xxx
Undefinedstructure``xxx``没有定义的结构xxx
Undefinedsymbol``xxx``没有定义的符号xxx
Unexpectedendoffileincommentstartedonlinexxx从xxx行开始的注解尚未结束文件不能结束
Unexpectedendoffileinconditionalstartedonlinexxx从xxx开始的条件语句尚未结束文件不能结束
Unknownassembleinstruction未知的汇编结构
Unknownoption未知的操作
Unknownpreprocessordirective:
``xxx``不认识的预处理命令xxx
Unreachablecode无路可达的代码
Unterminatedstringorcharactercon