我想使用swig
为我的框架生成Java文件,该框架具有带有AbstractClass
函数的pure virtual
,一些类实现并覆盖了这些函数。现在的问题是,DerivedClass
使用了仅作为标头的外部库,并且我已将链接等委托给cmake
。
但是,尽管在我运行swig时提供了适当的cmake模块来查找那些库,但是它忽略了那些从外部库实现一些抽象类的类。
我该如何使用swig,并且具有带有纯虚函数的抽象类会影响JNI包装器的生成吗?
目录结构可以在下图中看到。
我的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");
}
%}