我需要为 C++ 端的某些类添加一个方法。例如,我在 c++ 端有类 ABCD,在 java 端有类 ABCD,由 swig 生成,在 D 类(java 端)中,我需要添加 3 个方法,如下所示:
public abstract class D {
public abstract void do(A a);
public abstract void do(B b);
public abstract void do(C c);
}
我写了一个 swig 宏来做到这一点
%define MYMACRO(CLASSTYPE)
%typemap(javacode) D %{
public void do(CLASSTYPE item);
%}
%enddef
MYMACRO(A);
MYMACRO(B);
MYMACRO(C);
但它只适用于最后一个宏,我尝试了 %typemap(javabody) 并且它也不起作用。请帮我