keil里这个程序可以translate,但是不可以build和rebuild,不能生成hex文件

#include<reg51.h>
程序如下:
#define uint unsigned int
#define uchar unsigned char

sbit LED= P1^0;

void delay_ms(uint timer)
{
uchar j=0;
while(timer--)
{for(j=124;j>0;j--)
{;
}
}
}
void main(void)
{ while (1)
{
LED =~LED ;
delay_ms(100);
}
}
报错如下:
compiling 56.c...
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: MAIN
MODULE: 56.obj (56)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: _DELAY_MS
MODULE: 56.obj (56)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?MAIN?56
Program Size: data=9.0 xdata=0 code=92
Target not created
检查败雀项目里察首早是否已添加startup.a51启动文件。
检芹培查项目里是否重复添加了源文件。
我运行的时候没有出现错误哦,你可以重装keil后再看看有没有错
main() 和delay_ms()重复定义了