我有一个简单的C语言枚举在myenum.h头文件中:
enum MyEnum {
ONE,
TWO,
THREE
};
问题在于,当我将它映射到Python时,我只能通过模块名称而不是 MyEnum 访问枚举。因此,值 ONE、TWO 和 THREE 将与我定义的任何其他函数一起包含,而不是包含在 MyEnum 中。
我的 api.i 文件是:
%module api
%{
#include "myenum.h"
%}
%include "myenum.h"
我使用SWIG生成代码
swig -builtin -python api.i
并将其导入到Python中
import _api
现在我需要使用来自_api模块的枚举值:
_api.ONE
_api.TWO
_api.THREE
虽然我想像使用它们一样
_api.MyEnum.ONE
_api.MyEnum.TWO
_api.MyEnum.THREE
有人知道我如何实现这个吗?
(涉及IT技术,具体内容需要上下文理解)