我试图在托管的Ubuntu服务器上运行Java版本的OpenCV。我有一个使用Eclipse从我自己的Windows环境构建的现有应用程序,我想将它移动到我的服务器以在那里运行它。但是我有几个问题。
问题是,当我尝试运行它时,我收到以下错误:
现在已经存在问题,在SO上已经对这个问题有不同的答案,问题是UnsatisfiedLinkError
,但我试图跟着他们无济于事。
我有eclipse将本地库位置指向opencv位于服务器本身的位置;
但我仍有同样的问题。我正在将此项目编译为Runnable Jar File
,如果这有任何区别的话。
答案 0 :(得分:0)
路径必须匹配(在Windows和Linux之间),并且必须为每个系统包含(并进行测试)的正确本机文件。
目前在您的Eclipse环境中,您指向OpenCV的Windows实现 - Linux将如何知道在哪里查看?
我会确保Eclipse在创建可运行的jar文件时包含所有库(它是一个可检查的选项),并确保你的.dll和.so文件都进入相同的位置,无论系统如何(所以请确保opencv dll
{4}中的c:\var\lib\opencv and libopencv_java249
位于Linux框中/var/lib/opencv
在你的程序中,由于版本可能不一样,所以在加载库时 - 也是这样做:
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
这样它将使用您系统上当前的任何版本。