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后移植到其他芯片平台要注意对应修改,不然也容易报错。

相关推荐
BT-BOX4 小时前
第三章|新建STM32CubeMX工程生成keil工程和proteus联调仿真
stm32·嵌入式硬件·proteus
forAllforMe5 小时前
用STM32+LAN9252, 生成一个etherCAT 从机系统,实现数据采集功能
网络·stm32·嵌入式硬件
-Springer-8 小时前
STM32 学习 —— 个人学习笔记9-2(USART串口数据包 & 串口收发 HEX 及 文本 数据包)
笔记·stm32·学习
白掰虾9 小时前
一分钟上手STM32CubeMX2——STM32C5点灯
stm32·单片机·嵌入式硬件·stm2cubemx2·stm32c5
逐步前行11 小时前
STM32_NVIC_中断控制
stm32·单片机·嵌入式硬件
Suifqwu11 小时前
stm32之移植MbedTLS以及算法实现
stm32·嵌入式硬件·算法
forAllforMe12 小时前
用STM32+LAN9252做etherCAT 运动控制从机方案
stm32·单片机·嵌入式硬件
LCMICRO-1331084774614 小时前
长芯微LDC64115完全P2P替代AD4115,是一款低功耗、低噪声、24位、Σ-Δ(Σ-Δ)模数转换器(ADC)
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模数转换器
-Springer-15 小时前
STM32 学习 —— 个人学习笔记9-1(USART串口协议 & 串口发送及接收数据)
笔记·stm32·学习
busideyang15 小时前
数据手册和参考手册区别
stm32·单片机·嵌入式硬件·嵌入式