MDK Keil编译报错error: #28: expression must have a constant value的解决办法

使用低版本Keil编译高版本编辑过的工程,编译时报错error: #28: expression must have a constant value和 error: #268: declaration may not appear after executable statement in block。

报错操作:在函数中的数组中直接定义形参

报错操作:在函数中间位置直接定义变量

低版本keil为5.18,高版本应该为5.29以上。

解决办法:点击魔术棒Option for Target,找到C/C++选项,勾选里面的C99 Mode。

5.14版本和5.18版本默认设置C99 Mode是勾选的,如果编译报错可以查看一下这里有没有勾选。使用C99 Mode后移植到其他芯片平台要注意对应修改,不然也容易报错。

相关推荐
松小白song几秒前
如何在定时器中断中实现PWM波形切换?
stm32·单片机·嵌入式硬件
辰哥单片机设计2 小时前
STM32智能鞋柜(机智云)
stm32·单片机·嵌入式硬件
charlie1145141913 小时前
嵌入式C++教程实战之Linux下的单片机编程(6):从点亮第一盏LED开始 —— 我们为什么要用现代C++写STM32
linux·c语言·开发语言·c++·stm32·单片机
嵌入式×边缘AI:打怪升级日志3 小时前
IMX6ULL 的 LED 操作方法
stm32·单片机·嵌入式硬件
仰泳之鹅3 小时前
【stm32进阶】定时器+ADC+DMA+乒乓缓冲区
stm32·单片机·嵌入式硬件
Heartache boy14 小时前
野火STM32_HAL库版课程笔记-手动建立工程模板与CubeMX后续用法(重要)
笔记·stm32·单片机·嵌入式硬件
jghhh0118 小时前
带红外抄板和LCD显示的单相电能表设计
stm32·单片机·嵌入式硬件
czhaii19 小时前
STM32 F103 Altium一键下载PCB图
stm32·单片机·嵌入式硬件
雾削木19 小时前
基于STM32F411RET6 + 双路MB85RS2MT的铁电U盘
stm32·单片机·嵌入式硬件
嵌入式×边缘AI:打怪升级日志20 小时前
MX6ULL 的 GPIO 操作方法(保姆级教程)
stm32·单片机·嵌入式硬件