【发布时间】:2018-09-13 06:52:50
【问题描述】:
我不是 Java 开发人员,但我需要解决一个问题:我需要将 linux SO 库包含到现有 Java 项目中。该库是使用 CGO 开发的,可与 C++、Python ctypes、Ruby FFI 等配合使用。但是我不能将它包含到 Java 项目中而不会出现错误(java.lang.UnsatisfiedLinkError)。我看过this之类的文章,描述的方法是我需要先用javah创建一个C头文件,然后再写一个C程序,等等。但是,如果我已经编译了 *.SO 文件,该怎么办? 有没有办法,如何简单地加载现有的 SO 文件(用 C 编写)并调用它的函数?
【问题讨论】:
-
Java 是独立于平台的,也就是说,可能在 JNI 上阅读过?例如。 medium.com/@bschlining/… 在 Windows 上我要做的就是编写自己的 DLL,称为第三方 DLL。这样我就可以完成整个 h 文件的事情
标签: java java-native-interface shared-libraries