【ARM】MDK-语言标准执行报错Error:268

1、 问题场景

客户在编译的过程中,MDK出现下列报错 Error:#268: declaration may not appear after executable statement in block。

记录解决步骤和其他解决思路进行记录,后续该报错信息出现,使用文档快速解决客户问题。

问题分析:Keil C 编译器基于 ANSI C C90 标准,但扩展了添加的语言扩展、对微控制器架构特性的实际让步以及满足嵌入式系统程序员需求的其他功能。

在 C90 中,所有变量声明都必须发生在函数或其他代码块中的任何可执行语句之前。编译器错误消息提到了有问题的代码行的行号。

图1-1

3、软硬件环境

1)、软件版本:MDK5.39

2)、电脑环境:Windows 11

3)、外设硬件:无

4、解决方法

1)、如果变量和函数定义在C文件中,确保编译时C文件包含正确的头文件以及相关路径。

图4-1

2)、确认头文件完整性后依旧报错、进入配置管理界面、选择“C99 Mode”,再点击“OK”,配置成功。

图4-2

注:C99模式

编译器按照1999年C语言标准和附录的定义编译C语言:

ISO / IEC 9899:1999。1999年国际标准C。

ISO/IEC 9899:1999/Cor 2:2004。技术勘误2。

该选择设置命令行选项——c99。

3)、重新编译,报错消失,在软件版本迭代时,部分配置未能及时调整,会出现该错误。

图4-3

————————————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值