我正在尝试使用 SWIG 的 %rename 功能将 C++ 结构的多个成员重命名为 Java。
这是我的SActivityType.h:
struct SActivityType
{
unsigned int m_uActivityType;
unsigned int m_uActivityId;
};
这是一个工作项目。我:
%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 在一个声明中重命名所有匹配的成员?