製造元が MS Visual C++ で記述された SDK を提供しているデバイスへの Matlab インターフェイスを作成しようとしています。次のように、列挙型を含む SDK のヘッダーを C ファイル (mexfunction を含む) に含めました。
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
MEX ファイルを生成するために MATLAB で C ファイルをコンパイルすると、次のように、列挙型の要素ごとにいくつかのエラーが発生します。
エラー \LxT\useLxt.c: \LxT\LxT831.h: 713 \LxT\LxT831.h で以前に宣言された `GROUP_DOSE_1' の再宣言 713
エラー \LxT\useLxt.c: \LxT\LxT831.h: \LxT\LxT831.h 714 で以前に宣言された `GROUP_DOSE_2' の 714 再宣言 ....
紛らわしい部分は、再宣言が同じ行にあることです。また、matlab が lcc c コンパイラを使用している間、これは cpp コードであることに注意してください。ヒント/提案はありますか?