在SDK示例中,Keil编译器报告的Enum错误

4个帖子/ 0新
最后一篇
布莱恩
离线
最后一次露面:5年11个月前
专家 主
加入:2014-10-16 18:10
在SDK示例中,Keil编译器报告的Enum错误

在模板项目中,在这里使用keil编译器进行错误.h

///随机地址类型

enum gap_rnd_addr_type.
{
///静态随机地址
gap_static_addr = smpm_addr_type_static,
///私有不可解析地址
gap_non_rslv_addr = smpm_addr_type_priv_non_resolv,
///私有可解决地址
gap_rslv_addr = smpm_addr_type_priv_resolv,
};

这是一个枚举在SMPM.h中定义的另一个枚举被解雇的情况

/ **
*随机地址类型
* /
enum smpm_rand_addr_type.
{
///私有非分辨 - 00(MSB-> LSB)
smpm_addr_type_priv_non_resolv = 0x00,
///私有分辨 - 01
smpm_addr_type_priv_resolv = 0x40,
///静态 - 11
smpm_addr_type_static = 0xc0,
};

编译器报告的错误是Gap_rnd_addr_type枚举的Gap.h中的值未定义。这种嵌套的枚举似乎很奇怪。为什么这发生了,我该怎么办才能解决它。(注意这不是我已经写的代码,但是由DS和/或RW完成。谢谢分辨率。

哦,是的,SMPM.h标题包含在GAP.H标题中。

mhv_dialog
离线
最后一次露面:2天前1周
员工
加入:2013-12-06 15:10
不确定我理解

不确定我理解这个问题。你是说你无法编译template_fh项目代码吗?我可以在没有问题的情况下汇编它。

布莱恩
离线
最后一次露面:5年11个月前
专家 主
加入:2014-10-16 18:10
除非我写作,否则编译

除非我编写引用该项目的代码,否则它编译了错误。我不能等待一个答案,所以我很难编写枚举并摆脱错误。我不知道后果。

klim9531
离线
最后一次露面:4年3个月前
加入:2015-01-28 23:52
我看到了描述的问题

我看到上面描述的问题,在Proximity_FH项目代码以及我第一次注意到的模板中。两者都是编译和罚款。有效的问题是:即使有“解决方法”(将SMPM.h文件中的枚举值硬编码直接进入Gap.h文件),为什么引用失败?它的糟糕做法是为了鲁莽地编辑公共代码。