yorkbarney 发表于 2024-2-18 20:58

Keil常见错误/警告 解释以及解决办法

waring: while loop has empty body(while为空的偱环体)
只是警告,语句没有错误,不消除也正常编译、运行;
把循环体下面一条语句,与while左对齐,可消除警告;
如果上一条方法不能解决,应该是两条语句前的空位是Tab或空格不统一,删除空位,统一用空格即可。

variable “xxxxxx“was declared but never referrnced
变量’XXXXX’定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量XXXXX所在的语句没有意义,编译器把它优化了。
解决:看一下所定义的变量xxxx是否真实有用,如果变量xxxx的定义有意义并且进行了使用,那么可以尝试使用volatile修饰自己定义变量xxxx,若是真的没有用,那么删除掉或者注释掉以释放可能的内存。

Deprecated declaration xxxxxxxxxx - give arg types
在函数xxxxxxxxxx()声明和定义的时候定义参数类型,无参函数定义为void,即可解决该问题。

A1167E: Invalid line start
启动文件选择不对导致,如果采用的开发环境是keil ,那么应该选择arm文件夹下对应的启动文件。

L6304W: Duplicate input file .\system_apm32f10x_1.o ignored.
出现该问题的原因是 system_apm32f10x.c文件被重复包含了,去掉一个就好了

yangxiaor520 发表于 2024-2-20 20:42

感谢分享避坑经验

liu96jp 发表于 2024-3-26 15:36

这个问题挺好啊,可能是语法问题导致的呗

ex7s4 发表于 2024-3-26 16:40

其实可以使用AStyle来做格式化处理,就能避免这方面问题

su1yirg 发表于 2024-3-26 17:46

可以看看你的警告的代码是啥吗?是啥样的

y1n9an 发表于 2024-3-26 18:57

应该多来点这方面的“解题”技巧,哈哈

kaif2n9j 发表于 2024-3-26 20:05

我觉得有些时候keil的报错确实就很莫名其妙

tax2r6c 发表于 2024-3-27 08:00

这种格式不对的问题,我觉得可能是新版的keil导致的?

zhizia4f 发表于 2024-3-27 09:23

有些时候变量定义但未使用可以忽略不管的

d1ng2x 发表于 2024-3-27 10:09

Waring的话一般不管就好了

t1ngus4 发表于 2024-3-27 11:20

启动文件不对这个错误,其实可以这样解决,就是使用已经搭建好的demo或者好用的工程来搞就好了

l1uyn9b 发表于 2024-3-27 12:57

重复包含是因为自己创建的工程,就容易这样

问天少年 发表于 2024-3-28 11:43

常见的错误类型,有助于避坑

申小林一号 发表于 2024-4-30 16:50

非常不错的帖子,值得推广扩散!!!
页: [1]
查看完整版本: Keil常见错误/警告 解释以及解决办法