各位大侠好!小弟想把一个opencv功能模块打包成一个动态链接库dll文件,然后用java程序来调用这个dll
现在dll的打包和java端程序都没什么问题
问题出现在这两者之间的数据传递上
我想把从java前台窗体程序中获得的一个图片路径,用字符串String的形式传递给opencv的dll功能模块
在用javah生成头文件后,String就自然就变成了jstring
而opencv中和c++是一致的,在处理字符串上用的是char*(这里我不用模板类库string)
我查了一些资料,有方法将jstring类型的数据转换成char*类型
最简单的是一个函数
[color=#FF0000]const char3 fname = (char3 ) env - >GetStringUTFChars(filename, 0) ; / /接受绝对路径的字符串参数[/color]
而只要opencv功能模块中的方法能通过这个路径获得图片,程序就能运行
但是现在当我将数据传递过去之后,就报错了Exception in thread ”AWT-EventQueue-0” java.lang.unsatisfiedLinkError: test_dual_dimesion.dropColor(ILjava/lang/String=)V
at test_dual_dimesion.dropColor(native method)
at test_dual_dimesion_frame.approveButtonActionPerformed(test_dual_dimesion_frame.java:69)
.....
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
......其中java程序的主类是test_dual_dimesion,被声明为native的方法是dropColor(即dll中的方法)
窗体类是test_dual_dimesion_frame
错误的第一行,应该是说字符串的处理出现了问题吧?
后面的是给一个按钮添加了approveButtonActionPerformed方法来触发dll中的dropColor方法
Unknown Source应该是说明出现了空指针吧?
我觉得就是这个路径参数没有正确传递到dll中导致的错误
不知道我分析的对不对有哪位大侠能帮忙解决一下这个问题?
小弟在此感激不尽
现在dll的打包和java端程序都没什么问题
问题出现在这两者之间的数据传递上
我想把从java前台窗体程序中获得的一个图片路径,用字符串String的形式传递给opencv的dll功能模块
在用javah生成头文件后,String就自然就变成了jstring
而opencv中和c++是一致的,在处理字符串上用的是char*(这里我不用模板类库string)
我查了一些资料,有方法将jstring类型的数据转换成char*类型
最简单的是一个函数
[color=#FF0000]const char3 fname = (char3 ) env - >GetStringUTFChars(filename, 0) ; / /接受绝对路径的字符串参数[/color]
而只要opencv功能模块中的方法能通过这个路径获得图片,程序就能运行
但是现在当我将数据传递过去之后,就报错了Exception in thread ”AWT-EventQueue-0” java.lang.unsatisfiedLinkError: test_dual_dimesion.dropColor(ILjava/lang/String=)V
at test_dual_dimesion.dropColor(native method)
at test_dual_dimesion_frame.approveButtonActionPerformed(test_dual_dimesion_frame.java:69)
.....
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
......其中java程序的主类是test_dual_dimesion,被声明为native的方法是dropColor(即dll中的方法)
窗体类是test_dual_dimesion_frame
错误的第一行,应该是说字符串的处理出现了问题吧?
后面的是给一个按钮添加了approveButtonActionPerformed方法来触发dll中的dropColor方法
Unknown Source应该是说明出现了空指针吧?
我觉得就是这个路径参数没有正确传递到dll中导致的错误
不知道我分析的对不对有哪位大侠能帮忙解决一下这个问题?
小弟在此感激不尽
解决方案 »
- tabcontrol关联的对话框如何获取formview类指针
- windows 和 linux之间socket传输文件
- 高手帮我解惑。。
- MFC有那些方面的工作?大家帮忙讲解下
- 我想做一个vc.net那界面,请问这种代码哪里能找到?
- 用Command Line 编译《深入浅出MFC》中第六章Hello程序失败,请大家帮忙看看
- TRACE()宏干吗的?
- 请问pdg是什么文件?
- 文件操作高手帮忙~~~~~~~~~~~
- 有没有哪个高手能告诉我CJ60 Extension Library要怎么用????一定给分
- 急急急!!error C2228: left of '.ReplaceSel' must have class/struct/union type急求解决,谢谢
- 08环境转换到vc6.0的开发平台
,我的QQ623541498