keil编译时出现错误 undefined identifier
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil编译时出现错误 undefined identifier相关的知识,希望对你有一定的参考价值。
#include"reg51.h"
#define unit unsigned int
#define uchar unsigned char
sbit r1=p0^2
sbit y1=p0^1
sbit b1=p0^0
sbit r2=p0^7
sbit y2=p0^6
sbit b2=p0^5
void delay(void)
unit i;
for(i=0;i<34530;i++);
void main(void)
uint i=0;
while(1)
r1=1;y1=0;b1=0;
r2=0;y2=0;b2=1;
for(i=0;i<5;i++)
delay();
r1=1;y1=0;b1=0;
r2=0;y2=1;b2=0;
for(i=0;i<1;i++)
delay();
r1=0;y1=0;b1=1;
r2=1;y2=0;b2=0;
for(i=0;i<5;i++)
delay();
r1=0;y1=1;b1=0;
r2=1;y2=0;b2=0;
for(i=0;i<1;i++)
delay();
用KEIL编译时老是提示交通.C(32): error C202: 'b1': undefined identifier
交通.C(33): error C202: 'r2': undefined identifier
交通.C(33): error C202: 'y2': undefined identifier
交通.C(33): error C202: 'b2': undefined identifier
交通.C(34): error C202: 'i': undefined identifier
Target not created
为什么会提示没有定义呢
C语言写程序,是区分大小写字母的,所以,写程序时,定义变量名和使用变量名要注意前后要相同,不能随意改大小写字母。
你在前面定义3个引脚时,用的是小写字母
les
可程序中使用时,却改成大写字母L,那还不出错吗?
写程序要注意这些规则,请及时采纳吧。
#define unit unsigned int
unit i;
uint i=0;
这个是主要的BUG
建议你
#define UINT unsigned int
UINT i;
linux编译内核时出现错误,求解
ERROR: "xt_rateest_put" [net/netfilter/xt_rateest.ko] undefined!
ERROR: "xt_rateest_lookup" [net/netfilter/xt_rateest.ko] undefined!
ERROR: "xt_rateest_put" [net/netfilter/xt_RATEEST.ko] undefined!
ERROR: "xt_rateest_lookup" [net/netfilter/xt_RATEEST.ko] undefined!
WARNING: modpost: Found 8 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
需要把这个宏定义打开, 最简单的方法是就CONFIG_DEBUG_SECTION_MISMATCH=y 加到 .config 文件里面去,然后从新编译及好了 参考技术B 俺还没到配置内核的水准,等一会有这能力了再回答你哈。
一般就看看日志,日志里面会说清楚的。 参考技术C 配置不对,需要修改配置。具体去网上找。
以上是关于keil编译时出现错误 undefined identifier的主要内容,如果未能解决你的问题,请参考以下文章
使用 Flash IDE CS6 编译时出现错误 ITMS-90163
我的数码相框.c文件用arm-linux-gcc交叉编译时出现错误,如tgzip.c:309:undefined reference to