JNA 3.0.9 .so(64位)加载引用另一个.so(64位)

时间:2016-04-26 13:46:01

标签: java linux dll jna

我加载适用于其他

的adapter.so
 public interface CA extends Library {
        CA INSTANCE = (CA) Native.loadLibrary(
                (Platform.isWindows() ? "HashAdapterC" : "adapter"), CA.class);
        int full_hash(byte[] data, long size, int algorithm, byte[] result, IntByReference res_size);
    }

library lie flush

 lib
 |- adapter.so
 |- hal.so

adapter.so引用hal.so. 但是当调用adapter.so我得到一个错误 - 找不到库hal.so

-Linux localhost.localdomain 3.10.0-229.el7.x86_64#1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

-jna 3.0.9

-java version“1.7.0_79” Java(TM)SE运行时环境(版本1.7.0_79-b15) Java HotSpot(TM)64位服务器VM(内置24.79-b02,混合模式)

用这个java编译的jar(1.7.0_79 64bit)

1 个答案:

答案 0 :(得分:0)

如果在目录/ usr / lib / it中正在创建.so的符号链接

ln -s /usr/testLib/libHAL.so /usr/lib/libHAL.so
ln -s /usr/testLib/libadapter.so /usr/lib/libadapter.so