我正在尝试使用SWIG的%rename功能将C ++结构的多个成员重命名为Java。
这是我的 SActivityType.h :
struct SActivityType
{
unsigned int m_uActivityType;
unsigned int m_uActivityId;
};
这是一个有效的 project.i :
%rename("%(strip:[m_u])s") MY_NAMESPACE::SActivityType::m_uActivityType;
%rename("%(strip:[m_u])s") MY_NAMESPACE::SActivityType::m_uActivityId;
%include "SActivityType.h"
但我没有指定所有成员,而是尝试做类似的事情:
%rename("%(strip:[m_u])s") "MY_NAMESPACE::SActivityType::m_u*";
%include "SActivityType.h"
或
%rename("%(strip:[m_u])s") MY_NAMESPACE::SActivityType;
%include "SActivityType.h"
但是没有一个工作,getter / setter在生成的Java中回到 setM_uActivityType / getM_uActivityType 。
那么有没有办法告诉SWIG在一个声明中重命名所有匹配的成员?