繁体   English   中英

尝试遵循MIT示例有关C ++回调的SWIG使用时的java.lang.UnsatisfiedLinkError

[英]java.lang.UnsatisfiedLinkError when trying to follow an MIT example on SWIG usage of C++ callbacks

我正在尝试实现一个简单的应用程序,该应用程序可使C ++进行Java回调。 为此,我发现了一些人在MIT编写的一些示例: https : //github.com/swig/swig/tree/master/Examples/java/callback

但是,当尝试运行自己的应用程序时,我得到

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.swig.demo.SwigDemo3JNI.swig_module_init()V at com.swig.demo.SwigDemo3JNI.swig_module_init(Native Method) at com.swig.demo.SwigDemo3JNI.<clinit>(SwigDemo3JNI.java:30) at com.swig.demo.Caller.<init>(Caller.java:39) at com.swig.demo.SwigTest.main(SwigTest.java:47)

其中SwigDemo3JNISwigDemo3JNI生成的Java类,而SwigTest是带有main的Java类。 谁能给我一些我做错事情的见解?

您可以在启动应用程序时设置库路径,以下代码用于执行此操作:

String libraryPath = "c:/your/path/to/dll/lib";

System.setProperty("java.library.path", libraryPath);
Field sysPath = ClassLoader.class.getDeclaredField("sys_paths");
sysPath.setAccessible(true);
sysPath.set(null, null);
System.loadLibrary("the_dll_lib_name");

希望这对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM