試圖使使用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)行良好,就像我在其中編寫(xiě)程序的計(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. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””2. Span標(biāo)簽3. css - 求推薦適用于vue2的框架 像bootstrap這種類型的4. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題5. android新手一枚,android使用httclient獲取服務(wù)器端數(shù)據(jù)失敗,但是用java工程運(yùn)行就可以成功獲取。6. css - 關(guān)于div自適應(yīng)問(wèn)題,大家看圖吧,說(shuō)不清7. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。8. java - Collections類里的swap函數(shù),源碼為什么要新定義一個(gè)final的List型變量l指向傳入的list?9. python - django如何每次調(diào)用標(biāo)簽的時(shí)候都取隨機(jī)數(shù)據(jù)10. SessionNotFoundException:會(huì)話ID為null。調(diào)用quit()后使用WebDriver嗎?(硒)
