jnilib存在于MAC的目录下,我在LD_LIBRARY_PATH和DY_LD_LIBRARY_PATH中指定并导出此路径并导出,但仍然发现错误

jnilib exist in a directory of MAC, and I specify and export this path in LD_LIBRARY_PATH and DY_LD_LIBRARY_PATH and export, but still errors found

我在 MAC 中用 cc 编译了一个 jnilib,

当我运行申请java时,仍然出现以下错误:

dlopen(/Users/yz/Desktop/Home/code/test/framework/so/libtest.jnilib, 1): Library not loaded: @rpath/libtest.dylib\n Referenced from: /Users/yz/Desktop/Home/code/test/framework/so/libtest.jnilib\n Reason: image not found

Unfortunately, ths libtest.jnilib exists in /Users/yz/Desktop/Home/code/test/framework/so/

我用下面的解决方案解决了这个问题:

说明: 上面的 libtest.jnilib 引用了另一个 a.dylib,但是这个 a.dylib 在 LD_LIBRARY_PATH 和 DYLD_LIBRARY_PATH 指定的目录中不存在,所以当我调用 System.loadLibrary("测试"),失败了。

我将 a.dylib 复制到 LD_LIBRARY_PATH 或 DYLD_LIBRARY_PATH.

中的一个目录对我有用