試圖使使用OpenCV的Java應(yīng)用程序(可執(zhí)行Jar)可移植。收到不滿意的鏈接錯(cuò)誤
如果opencv未安裝在目標(biāo)計(jì)算機(jī)上,則需要交付必要的opencv的dll文件并設(shè)置相應(yīng)的庫(kù)路徑,這opencv是javacv
例如:
jar yourapp.jar -Djava.library.path='/path/to/OpenCV/library'解決方法
我已經(jīng)開(kāi)發(fā)了一個(gè)應(yīng)用程序,可以從網(wǎng)絡(luò)攝像頭抓取視頻并使用OpenCV和JavaCV檢測(cè)運(yùn)動(dòng)。我正在嘗試使用eclipse導(dǎo)出為可執(zhí)行jar。程序在eclipse中運(yùn)行良好,就像我在其中編寫程序的計(jì)算機(jī)上的exejar一樣。
我要完成的工作是使exe Jar在未安裝OpenCV的計(jì)算機(jī)上運(yùn)行。基本上我會(huì)考慮可移植的應(yīng)用程序。當(dāng)我在沒(méi)有安裝JRE的其他計(jì)算機(jī)上運(yùn)行exejar時(shí),出現(xiàn)如下所示的不滿意的鏈接錯(cuò)誤。
Exception in thread 'Video Thread' java.lang.UnsatisfiedLinkError: C:UsersJohnDAppDataLocalTempjavacpp91062429652918jniopencv_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
我一直在尋找解決問(wèn)題的方法。我遇到的大多數(shù)主題都帶有不滿意的鏈接錯(cuò)誤,例如我收到的鏈接錯(cuò)誤,一直試圖使它第一次在IDE中運(yùn)行,而這里不是這種情況。我認(rèn)為我的依賴關(guān)系在構(gòu)建路徑中的庫(kù)中是正確的,因?yàn)楫?dāng)我在已安裝所有內(nèi)容的計(jì)算機(jī)上運(yùn)行時(shí),可以使其完美運(yùn)行,但我仍然相信我在構(gòu)建過(guò)程中出錯(cuò)了。
我再次嘗試使它在未安裝OpenCV / JavaCV的計(jì)算機(jī)上運(yùn)行。任何幫助將不勝感激。
相關(guān)文章:
1. 為什么我ping不通我的docker容器呢???2. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.3. 將SQLServer數(shù)據(jù)同步到MySQL 用什么方法?4. android - webview 自定義加載進(jìn)度條5. 并發(fā)模型 - python將進(jìn)程池放在裝飾器里為什么不生效也沒(méi)報(bào)錯(cuò)6. numpy - python [:,2][:,None]是什么意思7. javascript - 微信小程序限制加載個(gè)數(shù)8. javascript - 微信小程序封裝定位問(wèn)題(封裝異步并可能多次請(qǐng)求)9. javascript - 微信音樂(lè)分享10. python 怎樣用pickle保存類的實(shí)例?
