【经验总结】解决Keil报错:declaration may not appear after executable statement in block
问题原因: 今天在keil平台上移植一段STM32代码,编译的时候一直出现报错,找了半天也找不到原因,最后通过百度通过大佬们的博文找到了原因,因为每个keil工程的STM32标准库和MDK环境设置不同,具体错误如下:
解决办法: 解决办法有两种。
第一种方法:
将所有变量声明提到最上面部分,包括结构体,即定义变量不能在执行语句之后
改变以后如下:
第二种方法:
- 打开上面工具栏小锤子
- 点击C/C++按钮,勾选C99 mode选项,因为这个版本兼容所有代码格式
- 点击OK,配置完成。
这样就没有报错啦。