JNI:线程"AWT-EventQueue-0"中的异常; java.lang.UnsatisfiedLinkError [英] JNI : Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError

查看:204
本文介绍了JNI:线程"AWT-EventQueue-0"中的异常; java.lang.UnsatisfiedLinkError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Java开发应用程序.我已经使用 JNI层 C层进行了 java 通信. Java中的函数,应用程序给出以下异常,

I am working on application in java.I have use JNI layer to communicate java with the C layer.But while calling the native function in java , the application gives following exception,

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: org.jni.DeviceCommunicationController.Ivb_GetGain(I)F
at org.jni.DeviceCommunicationController.Ivb_GetGain(Native Method)
at org.jni.GetGain.<init>(GetGain.java:11)
at org.mainWindow.AppWindow$3.stateChanged(AppWindow.java:281)
at javax.swing.JSlider.fireStateChanged(Unknown Source)
at javax.swing.JSlider$ModelListener.stateChanged(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.fireStateChanged(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.setRangeProperties(Unknown Source)
at javax.swing.DefaultBoundedRangeModel.setValueIsAdjusting(Unknown Source)
at javax.swing.JSlider.setValueIsAdjusting(Unknown Source)
at javax.swing.plaf.basic.BasicSliderUI$TrackListener.mouseReleased(Unknown Source)
at javax.swing.plaf.synth.SynthSliderUI$SynthTrackListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source) 

Java代码

函数声明

public native float Ivb_GetGain(int gain);

函数调用

// int gain = 13;
new DeviceCommunicationController().Ivb_GetGain(gain);   // here i get the exception 

JNI代码

JNIEXPORT jfloat JNICALL   Java_org_jni_DeviceCommunicationController_Ivb_1GetGain
 (JNIEnv *, jobject, jint gain)
   {

  jfloat val = 0;
  val = Syntac_GlobalGain(gain);
  return val;

   }

我浏览了许多链接,但没有找到解决方案.请帮助我找出有关此解决方案的解决方案

I gone through many links but didn't find the solution.Please help me to find out solution on this ecxeption

推荐答案

自从使用javah生成.h文件以来,您已经更改了程序包名称.重新生成它并相应地调整您的.c文件.请注意,程序包名称编码在C函数名称中.

You've changed the package name since you generated the .h file with javah. Regenerate it and adjust your .c file accordingly. Note that the package name is encoded in the C function name.

这篇关于JNI:线程"AWT-EventQueue-0"中的异常; java.lang.UnsatisfiedLinkError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆