新手用ICC编程的时候,经常会出现一些错误,现在将常见的错误报告整理如下。
一、正常编译通过
CODE:
C:\icc\bin\imakew -f main.mak
iccavr -c -IC:\icc\include\ -e -DATMEGA -DATMega16 -l -g -Mavr_enhanced D:\桌面\实验教程\LED应用\霓虹灯\main.c
iccavr -o main -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
Device 1% full.
Done.
[Copy to clipboard]
这是我们最想看到的了,万事大吉。
二、工程中未加入.C文件
CODE:
C:\icc\bin\imakew -f main.mak
iccavr -o main -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
unknown file type @main.lk, passed to linker
!ERROR unknown file type '@main.lk'
C:\icc\bin\imakew.exe: Error code 1
Done: there are error(s). Exit code: 1
[Copy to clipboard]
解决办法:将你的程序加入工程中,可以右键程序区>>ADD to project
三、程序没有后缀名,或者后缀名不正确。
CODE:
C:\icc\bin\imakew -f main.mak
C:\icc\bin\imakew.exe: 'main' is up to date
Done.
[Copy to clipboard]
这是一个很难理解的错误,它是由工程中的程序文件没有后缀名造成的。
解决办法:将原有文件移出工程,将文件的后缀名改为.C,然后再加入工程中。
四、没有main函数
CODE:
C:\icc\bin\imakew -f main.mak
iccavr -c -IC:\icc\include\ -e -DATMEGA -DATMega16 -l -g -Mavr_enhanced D:\桌面\实验教程\LED应用\霓虹灯\main.c
iccavr -o main -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
!ERROR file 'crtatmega.o': undefined symbol '_main'
C:\icc\bin\imakew.exe: Error code 1
Done: there are error(s). Exit code: 1
[Copy to clipboard]
解决办法,编写程序主函数MAIN。 |