Kod działa poprawnie podczas wykonywania z Eclipse. Używam OpenCV 2.4.11 i JavaFX dla interfejsu użytkownika. Kiedy wyeksportować plik wykonywalny słoik z Eclipse i uruchomić go z cmd pojawia się następujący wyjątek:UnsatisfiedLinkError w eksportowanym (Eclipse) pliku JAR wykonywalny
ja po wielu post tutaj na SO i forum OpenCV (1, 2, 3, 4), ale żaden Odpowiedzi wydają mi się pomocne.
Dodałem słoik OpenCV jako bibliotekę, a biblioteka Natywna jest połączona z/build/java/x64 zgodnie z sugestiami w odpowiedziach na SO.
Wyjątek występuje w System.loadLibrary (Core.Native_Library_Name) Sprawdziłem Native_Library_Name a wersja OpenCV jest taki sam jak ja importowanego w moim projekcie.
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);
}
}
Jeśli ktoś myśli, że coś przegapiłem, proszę dać mi znać.
Skoro już wydaje się, że znalazł swoje rozwiązanie, proponuję jeszcze spojrzeć na kopalni. Z moim nie musisz podawać żadnej bezwzględnej ścieżki, jak w innych rozwiązaniach, które oczywiście przerywają twoje wywoływanie po podaniu aplikacji innemu użytkownikowi lub po zainstalowaniu innej wersji OpenCV. – Roland