使用swig生成Java包装器,其中多个类从具有纯虚函数的抽象类派生

时间:2019-03-23 07:25:47

标签: java c++ swig

我想使用swig为我的框架生成Java文件,该框架具有带有AbstractClass函数的pure virtual,一些类实现并覆盖了这些函数。现在的问题是,DerivedClass使用了仅作为标头的外部库,并且我已将链接等委托给cmake

但是,尽管在我运行swig时提供了适当的cmake模块来查找那些库,但是它忽略了那些从外部库实现一些抽象类的类。

我该如何使用swig,并且具有带有纯虚函数的抽象类会影响JNI包装器的生成吗?

目录结构可以在下图中看到。

directory_structure

我的swig文件如下,

module mycpplib
%{
#include "src/include/AbstractClass.h"
#include "src/include/Enums.h"
#include "src/include/Data.h"
#include "src/include/Helper.h"
#include "src/DerivedClass.h"
%}

%include "src/include/AbstractClass.h"
%include "src/include/Enums.h"
%include "src/include/Data.h"
%include "src/include/Helper.h"
%include "src/DerivedClass.h"

%pragma(java) jniclasscode=%{
    static {
        System.loadLibrary("cpplib");
    }
%}

0 个答案:

没有答案