从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