keil出现错误declaration is incompatible

50 篇文章 101 订阅 ¥9.90 ¥99.00
19 篇文章 21 订阅
在Keil项目中遇到错误'declaration is incompatible',源于STM32appl.h第38行与ecatslv.h第396行定义不匹配,以及nPdOutputSize相同问题。错误通常由于函数声明和定义不一致导致。解决方法包括检查函数声明和实体,确保匹配,或者更新core_cm3.h文件,删除旧版并启用IAR的CMSIS库配置。
摘要由CSDN通过智能技术生成

错误来源

.\ECAT\inc\STM32appl.h(38): error: #147: declaration is incompatible with "unsigned shortnPdInputSize" (declared at line 396 of ".\ECAT\inc\ecatslv.h")

  extern UINT16 nPdInputSize;

.\ECAT\inc\STM32appl.h(39): error: #147: declaration is incompatible with "unsigned short nPdOutputSize" (declaredat line 398 of ".\ECAT\inc\ecatslv.h")

翻译:声明是不相容的

描述:在函数还没有声明之前就已经使用了.多出现在两种情况:第一种,函数体还没有写,就已经用到了它,这种情况多出现在写一个程序的大体结构中,只是简单写一下框架.第二种情况比较常见,函数a调用函数b,但函数b的函数体在函数a的下面:
void a(void) //函数a的实体
{
       b(); //调用函数b
}

void b(void) //函数b的实体
{
}
这样如果点编译,就会产生

我已经依据此方法解决该问题。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kobesdu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值