最新发布:关于Keil最新版不支持compiler version5的解决办法

在更新到MDK5.37后,由于新版本未预装V5编译器,导致旧工程无法编译。为解决missingcompilerversion5错误,需手动将ARMCC文件添加到Keil的ARM文件夹下。已提供文件链接(提取码:f455)供用户下载并按照步骤操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚下载了最新的MDK5.37后发现原来的文件不能编译,刚编译是出现这种情况:

原因是 missing compiler version5,缺少V5编译器(compiler version5),因为打开的工程比较老,是用v5的编译器写的,而现在下的keil5不再预装v5编译器;所以我们需要手动添加。过程如下:


1:点击标记按钮

2:点击标记按钮

3:点击标记按钮

4:添加ARMCC文件

将ARMCC文件添加到keil安装路径的ARM文件包下面

然后进行添加

文件链接在文尾

https://pan.baidu.com/s/1UjYxTb5lETCpDDjA8rRigA?pwd=f455

提取码:f455

### Keil 中定义头文件出现错误的解决方案 当在 Keil 上遇到宏定义错误或者特定类型的定义未被识别的情况,通常是因为编译器设置不匹配或者是某些必要的预处理指令缺失。 对于 `uint32_t` 类型以及其他标准整数类型的宏定义报错问题,在通过外部编辑工具(如 VSCode)修改源码后可能出现此类情况。为了确保这些类型能够正常工作,应该确认项目配置中包含了 `<stdint.h>` 或者其他提供相应类型定义的标准库头文件[^1]。 针对 `_WEAK` 关键字无法解析的问题,则需注意大小写敏感性和具体的编译器支持方式。具体来说: - 如果使用的是 IAR 编译器 (`__ICCARM__`) ,则应按照以下方式进行定义: ```c #if defined (__ICCARM__) #define __WEAK __weak __ATTRIBUTES ``` - 对于 ARM 编译器 (`__CC_ARM`) 的情形下,采用简单的弱化声明即可满足需求: ```c #elif defined (__CC_ARM) #define __Weak __weak ``` - 若使用的不是上述两种编译环境之一,则会触发编译警告提示未知编译器版本,并停止构建过程: ```c #else #error "unsupported compiler!!" #endif ``` 此外,如果是在尝试将已有工程迁移到不同开发环境中操作(比如从 Keil 到 VSCode),除了调整代码本身外,还需要关注 IDE 特定配置项的影响。例如 `.vscode` 文件夹内的设置可能干扰到项目的正确编译流程;此可以考虑移除该目录并让新平台自动生成默认配置来解决问题[^4]。 综上所述,要解决 Keil 工程中关于头文件定义所引发的各种报错现象,关键是依据实际使用的编译器种类做出针对性修正,并保持良好的跨平台兼容性实践习惯。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岂有此李呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值