keil5 编译不成功

keil5 编译不成功

文件路径

学习使用STM32标准库的时候,会使用各种各样的头文件,使用头文件时要在keil界面魔术棒配置里面添加文件路径,我在模仿编写例程时,没有把所有头文件路径包含进去,导致编译不成功;另外就是文件路径包含了中文,keil5也会找不到相关头文件。

宏定义

我挺佩服ST的固件库的,利用宏定义大大增加了程序的可移植性,只要在移植时修改相关宏定义即可,但是在我编译时,定义了一个宏定义,在后续编程时仍使用了原定义名,导致编译不成功,所以使用了宏定义,原来的定义名就被修改,后续也只能使用宏定义名。

error: #268: declaration may not appear after executable statement in block

我的解决办法:keil默认编译C89,解决办法,在魔术棒工具栏C/C++选项框中勾选C99 code

static函数(也叫内部函数)只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。

百度上常见的keil编译错误,可以参考一下翻译

warning: #550-D: variable “a” was set but never used

虽然变量’a’定义了,但编译器认为变量a所在的语句没有意义,编译器把它优化了。
解决:先检查‘a’所在语句是否有意义,如果有意义那么尝试用volatile关键字修饰变量‘a’,如果没有意义就删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值