3

我正在尝试使用 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 在一个声明中重命名所有匹配的成员?

4

0 回答 0