Я сделал приложение для захвата видео с веб-камеры и обнаружения движения с использованием OpenCV и JavaCV. Я пытаюсь экспортировать как исполняемый файл jar, используя eclipse. Программа отлично работает в eclipse, как и exe-файл на компьютере, на котором я закодировал программу.
То, что я пытаюсь сделать, это запустить exe Jar на компьютерах, на которых не установлен OpenCV. В основном то, что я бы назвал портативным приложением. Когда я запускаю exe jar на другом компьютере, на котором не установлено ничего, кроме JRE, я получаю неудовлетворенные ошибки ссылки, показанные ниже.
Exception in thread "Video Thread" java.lang.UnsatisfiedLinkError: C:\Users\JohnD\AppData\Local\Temp\javacpp91062429652918\jniopencv_core.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566)
at com.googlecode.javacpp.Loader.load(Loader.java:489)
at com.googlecode.javacpp.Loader.load(Loader.java:431)
at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.googlecode.javacpp.Loader.load(Loader.java:453)
at com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.googlecode.javacpp.Loader.load(Loader.java:453)
at com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85)
at com.googlecode.javacv.OpenCVFrameGrabber.start(OpenCVFrameGrabber.java:174)
at VideoPanel.run(VideoPanel.java:163)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: no opencv_core244 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593)
at com.googlecode.javacpp.Loader.load(Loader.java:481)
... 13 more
Я искал решение того, что я делаю неправильно. Большинство тем, с которыми я столкнулся с ошибками неудовлетворенных ссылок, подобных тем, которые я получаю, пытались запустить их в первый раз в IDE, что здесь не так. Я думаю, что мои зависимости верны в библиотеках в пути сборки, поскольку я могу заставить его работать идеально, когда я нахожусь на компьютере, на котором все установлено, но я все еще считаю, что делаю что-то не так со сборкой.
Я снова пытаюсь сделать так, чтобы Jar мог работать на компьютерах, на которых не установлен OpenCV/JavaCV. Любая помощь будет принята с благодарностью.