0

我正在尝试为制造商提供用 MS Visual C++ 编写的 SDK 的设备创建 Matlab 接口。我在我的 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 713 声明的 `GROUP_DOSE_1'

错误 \LxT\useLxt.c: \LxT\LxT831.h: 714 重新声明先前在 \LxT\LxT831.h 714 中声明的 `GROUP_DOSE_2' ....

令人困惑的部分是重新声明在同一行。还有一点需要注意的是,这是 cpp 代码,而 matlab 使用的是 lcc c 编译器。任何提示/建议?

4

0 回答 0