Keil C++环境 移植第三方库[FreeRTOS USB库] 出现类型错误问题解决

1 篇文章 0 订阅

Keil_C++环境移植第三方库出现类型错误问题解决

@firestaradmin 2020年12月8日16:28:18

死亡如风,常伴吾身。


Keil里实现C++环境编程,在C/C++ 选项卡中 添加Misc 功能,添加--cpp11 即可支持C++。

可是在移植一些第三方库的时候会出现问题,比如说FreeRTOS、USB库等等。

如以下编译错误:

..\OS\FreeRTOS\tasks.c(2896): error:  #513: a value of type "void *" cannot be assigned to an entity of type "TCB_t *"

..\OS\FreeRTOS\portable\MemMang\heap_4.c(350): error:  #513: a value of type "void *" cannot be assigned to an entity of type "A_BLOCK_LINK *"

在这里插入图片描述

是不是看的头都大了,我曾在网上寻找许久,找的天昏地暗,觉得解决这问题真的是天方夜谭,可能有些人遇不到问题,我去FreeRTOS 官网也找了,各种国外论坛都找不倒解决方案,但是现在我知道问题所在了,那么问题怎么解决呢!!!!!

PACK包!!!!

PACK包!!!!

PACK包!!!!

没错问题就是PACK 包的版本问题!!!

在这里插入图片描述

如果你是F4的 板子,那么如果你用的是2.14.0 或者 2.15.0 那么恭喜你,你必定遇到这错误,我在官网找到了一条版本更新警告!如下:
在这里插入图片描述

可以看到,自从2.14.0 后 不在强制使用C99 MODE。 但是我在每个c文件的单独的MISC 选项中单独添加 --C99 还是会有一些莫名其妙的问题所在,所以直接使用2.13.0 版本的PACK包即可。


点击这个
在这里插入图片描述

按照下图设置即可完美解决一些疑难杂症

在这里插入图片描述

这样就可以啦!!


其他系列的单片机我没试过,不知道,其他版本我也不知道。但是F4 使用2.13.0 版本的PACK包 绝壁可以。

如果有帮到你,也不用谢我,我只是一个活雷锋!!! 谢谢!


在这里插入图片描述

点击编译!神清气爽! 爽!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值