无法导入swig生成的包

我正在尝试使用swig为c ++类生成java包装(所以我可以在Kotlin中使用它们)。

我能够生成Java类和JNI共享模块,但是我有问题导入包中的想法。

这是我做的。

首先我使用下面的代码生成封装代码:

../../swig/bin/swig -module wvx -c++ -java -package wvx -outdir out java_interface.i 

编译它使用:

 gcc -shared -fpic -c java_interface_wrap.cxx -I. -I/bunch-of-paths 

链接使用:

 g++ -lpthread -lrt -lgmp -ldl -lcrypt -lm -lc -lieee -shared -fpic java_interface_wrap.o bunch_of_dependencies.a -o libwvx.so 

我现在有libwvx.so文件,我可以加载目录到我的LD_LIBRARY_PATH后加载

 System.loadLibrary("wvx") 

接下来,我进入了所有的swig生成的java文件的出口目录,并编译所有使用。

 javac *.java 

并用下列方法将它们打包成一个jar子

 jar cf wvx.jar *.class 

最后在我包含的build.gradle文件中。

 dependencies { compile files('/path_to_jar/wvx.jar') } 

现在在Idea中,当我开始输入一个类的名字时,我得到一个popup窗口

它有它所在的类和包的名称。

所以像这样:

MyClass(wvx)

但是当我选择它时,Idea插入

 wvx.MyClass 

并说wvx未解决的参考

如果我只是尝试,我也得到相同的未解决的参考

 import wvx 

我觉得这是非常基本的东西,但我无法弄清楚我错过了什么。 有任何想法吗?