我正在尝试为设备创建一个Matlab接口,其中制造商提供了用于MS Visual C ++编写的SDK。我在我的C文件(包含mexfunction)中包含了一个包含枚举的SDK标题,如下所示:
typedef enum {
GROUP_SYSTEM_COMMAND = 0,
GROUP_SLM_CURRENT, // 1
GROUP_SLM_HISTORY, // 2
GROUP_SLM_OVERALL, // 3
GROUP_STAT_HISTORY, // 4
GROUP_STAT_OVERALL, // 5
GROUP_OBA11, // 6
GROUP_OBA13, // 7
GROUP_DOSE_1, // 8
GROUP_DOSE_2, // 9
GROUP_EVENT_1, // 10
.......etc
在matlab中编译C文件以生成mex文件时,我会在枚举的每个元素中得到几个错误,如下所示:
错误\ LxT \ useLxt.c:\ LxT \ LxT831.h:713重新声明先前在\ LxT \ LxT831.h声明的`GROUP_DOSE_1'713
错误\ LxT \ useLxt.c:\ LxT \ LxT831.h:714重新声明先前在\ LxT \ LxT831.h声明的`GROUP_DOSE_2'714 ....
令人困惑的部分是重新声明是在同一条线上。另外需要注意的是,这是cpp代码,而matlab正在使用lcc c编译器。任何提示/建议?