我有一个图书馆/home/me/myfolder/mylib.so
并在执行时
System.out.println(System.getProperty("java.library.path"));
我得到/home/me/myfolder
。但如果我尝试加载它:
System.loadLibrary("mylib");
发生此错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no mylib.so in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at MainClass.main(MainClass.java:11)
已尝试使用mylib.so
代替。该库是从Haskell Code创建的。
答案 0 :(得分:4)
在Linux / Unix上,我相信它会查找lib<name>.so
,因此请尝试将您的库重命名为/home/me/myfolder/libmylib.so
,并使用System.loadLibrary("mylib");
加载它。