試圖使使用OpenCV的Java應用程序(可執(zhí)行Jar)可移植。收到不滿意的鏈接錯誤
如果opencv未安裝在目標計算機上,則需要交付必要的opencv的dll文件并設置相應的庫路徑,這opencv是javacv
例如:
jar yourapp.jar -Djava.library.path='/path/to/OpenCV/library'解決方法
我已經開發(fā)了一個應用程序,可以從網絡攝像頭抓取視頻并使用OpenCV和JavaCV檢測運動。我正在嘗試使用eclipse導出為可執(zhí)行jar。程序在eclipse中運行良好,就像我在其中編寫程序的計算機上的exejar一樣。
我要完成的工作是使exe Jar在未安裝OpenCV的計算機上運行。基本上我會考慮可移植的應用程序。當我在沒有安裝JRE的其他計算機上運行exejar時,出現(xiàn)如下所示的不滿意的鏈接錯誤。
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
我一直在尋找解決問題的方法。我遇到的大多數(shù)主題都帶有不滿意的鏈接錯誤,例如我收到的鏈接錯誤,一直試圖使它第一次在IDE中運行,而這里不是這種情況。我認為我的依賴關系在構建路徑中的庫中是正確的,因為當我在已安裝所有內容的計算機上運行時,可以使其完美運行,但我仍然相信我在構建過程中出錯了。
我再次嘗試使它在未安裝OpenCV / JavaCV的計算機上運行。任何幫助將不勝感激。
相關文章:
1. 為什么我ping不通我的docker容器呢???2. java - 自己制作一個視頻播放器,遇到問題,用的是內置surfaceview類,具體看代碼!3. 服務器端 - 采用nginx做web服務器,C++開發(fā)應用程序 出現(xiàn)拒絕連接請求?4. javascript - 有什么兼容性比較好的辦法來判斷瀏覽器窗口的類型?5. 關于docker下的nginx壓力測試6. javascript - vue 移動端的input 數(shù)字輸入優(yōu)化7. javascript - Angular controlller控制域和原生js的關系8. javascript - npm start 運行’webpack-dev-server’報錯 Cannot find module ’webpack’9. HTML5禁止img預覽該怎么解決?10. python - pandas按照列A和列B分組,將列C求平均數(shù),怎樣才能生成一個列A,B,C的dataframe
