keil工程Error: L6218E: Undefined symbol main (referred from rtentry2.o).

我按照网上的教程一步步的建立,结果出现了这样的错误,哪位高手指点一下呀,快疯了,十分感谢!

1,main这个符号未定义。

解决:写成 void mian(),而不是 main()。

2,大多数是因为未加main.c文件于工程中或main单词拼写错误。

解决:仔细检查程序代码,看是否出现拼写错误,修改main单词。

如果自己的程序并没有出现上述这两种情况,可能是因为《ARM处理器裸机开发实战——机制而非策略》这本书自定的启动代码是根据ADS1.2软件编写的{自定义的启动代码里定义了Main(),而自己定义的函数为main},自己现在的运行环境为MDK软件,应该需要的是main()函数。

扩展资料:

改进程序:

#include <lpc213x.h>

#include <lcd.h>
#include <stdio.h>

unsigned int read_adc();

void mian()
{ unsigned int adc_result; char buffer[16]; PINSEL1|=0x00800000; AD0CR=0x00200301; while(1) { adc_result=read_adc(); sprintf(buffer,"result=%d",adc_result); lcd_init(); lcd_gotoxy(0,0); lcd_print(buffer); }

}
unsigned int read_adc()
{ int true; unsigned int result; AD0CR|=0x01000000; true=AD0GDR&1; while(!true) result=(AD0GDR>>5); result&=0x3FF; return result;
}

main函数:

又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式.有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。

在C语言当中,一个程序,无论复杂或简单,总体上都是一个“函数”;这个函数就称为“main() 函数”,也就是“主函数”。比如有个“做菜”程序,那么“ 做菜 ”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜,切菜,炒菜”等子函数。

main函数在程序中大多数是必须存在的,但是依然有例外情况,比如windows编程中可以编写一个动态链接库(dll)模块,这是其他windows程序可以使用的代码。

由于DLL模块不是独立的程序,因此不需要main函数。再比如,用于专业环境的程序-----如机器人中的控制芯片--可能不需要main函数。

参考资料来源:main函数-百度百科

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-04-27
http://www.keil.com/forum/16561/
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4116.html
这个错误是说你没有定义main入口函数,你看看是不是写错了,要跟main一摸一样,大小写也要一致。本回答被网友采纳
第2个回答  2012-05-14
我的情况和你一样,不过我的是忘了把main.c加入到工程文件中了。希望以后有人犯这样的错误时可以尽快解决。
第3个回答  2011-07-13
应该是没预定义,如果您引用的函数位置在main()函数里 或者在main()函数下边 是要预先定义的,反之在main()函数上面应用的函数就不需要预定义
我是这么记得 有不对的地方请高人请教!
第4个回答  2014-04-30
我出现的提示和你一样,不过我是在MAIN。C中忘写主函数了,,写上这个后就通过了
int main()
{

}

仅供参考!!
相似回答