1

我需要为 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) 并且它也不起作用。请帮我

4

0 回答 0