2

我正在尝试使用这个jnr-jffi库。它似乎依赖于jffi,所以我也构建了它并包含在我的 libs 文件夹中。

我加载本机代码的代码如下:

MATH_LIB = LibraryLoader.create(MathLib.class).load("math");

MATH_LIB.Multiply(1, 2);

我收到以下错误:

java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: could not locate stub library in jar file.  Tried [jni/Darwin/libjffi-1.2.dylib, /jni/Darwin/libjffi-1.2.dylib]

值得一提的是,我确实包含了一个文件夹,该文件夹jni似乎包含一堆适用于各种平台的本机库。

我如何继续使用这个库加载我的本机代码。

请注意,我在启动我的项目时尝试添加各种路径,并将库添加到我机器上的不同位置,但没有成功。

这意味着我需要弄清楚如何进一步调试这个?欢迎任何建议。

4

2 回答 2

0

使用 JNR 时最容易使用maven 。Maven 将自动解析所有需要的依赖项。

您可以将其添加到您的pom.xml

<dependency>
     <groupId>com.github.jnr</groupId>
     <artifactId>jnr-ffi</artifactId>
     <version>2.0.9</version>
</dependency>

或者在这里找到更新的版本。

于 2016-08-11T09:42:21.937 回答
0

您需要该文件的平台特定版本:libjffi-1.2.dylib 请参阅问题并尝试为您的平台版本查找包含上述库文件的相关 jar。

于 2017-09-08T05:28:49.017 回答