3

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 に指示する方法はありますか?

4

0 に答える 0