從Eclipse執行時,代碼工作正常。我正在使用OpenCV 2.4.11和JavaFX進行用戶界面。當我從Eclipse導出一個可執行的JAR和CMD我得到下面的異常運行:導出的(Eclipse)可執行文件jar文件中的UnsatisfiedLinkError
我跟很多張貼在這裏的SO和OpenCV論壇(1,2,3,4),但是,沒有的答案似乎幫助我。
我已經將OpenCV jar添加爲庫,並且本機庫鏈接到/ build/java/x64,如SO答案中的建議。
唯一的例外發生在的System.loadLibrary(Core.Native_Library_Name),我檢查了Native_Library_Name和OpenCV的版本是一樣的一個我在我的項目進口。
public class CustomFrame extends Application{
@Override
public void start(Stage primaryStage){
Group root = new Group();
Canvas canvas = new Canvas(1440, 840);
ImageView imageView = new ImageView();
imageView.setFitHeight(canvas.getHeight());
imageView.setFitWidth(canvas.getWidth());
new FrameController().startCamera(imageView);
root.getChildren().addAll(imageView, canvas);
primaryStage.setScene(new Scene(root));
primaryStage.show();
}
public static void main(String[] args)
{
// load the native OpenCV library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
launch(args);
}
}
如果有人認爲我錯過了什麼,請讓我知道。
既然你似乎已經找到了你的解決方案,我建議你還是先看看我的。與我一樣,您不必像在其他解決方案中那樣指定任何絕對路徑,一旦您將應用程序交給另一個用戶或安裝不同版本的OpenCV,這顯然會中斷您的調用。 – Roland