SWIG の %rename 機能を使用して、C++ 構造体の複数のメンバーの名前を Java に変更しようとしています。
これは私のSActivityType.hです:
struct SActivityType
{
unsigned int m_uActivityType;
unsigned int m_uActivityId;
};
これは作業中のプロジェクトです.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"
しかし、どれも機能していません。ゲッター/セッターは 、生成された Java でsetM_uActivityType/getM_uActivityTypeに戻ります。
単一の宣言で一致するすべてのメンバーの名前を変更するよう SWIG に指示する方法はありますか?