2015-03-29 1 views
0

Je tente d'exécuter la version Java d'OpenCV sur un serveur Ubuntu hébergé. J'ai une application existante construite à l'aide d'Eclipse depuis mon propre environnement Windows et je veux la déplacer vers mon serveur pour l'exécuter ici. Cependant, j'ai plusieurs problèmes avec cela.Java OpenCV UnsatisfiedLinkError, Ubuntu

Le problème est que lorsque je tente de l'exécuter je reçois l'erreur suivante:

enter image description here

question Maintenant il y a déjà avec différentes réponses à ce problème déjà SO, le problème étant le UnsatisfiedLinkError, mais j'ai essayé de les suivre en vain.

J'ai éclipse pointant l'emplacement de la bibliothèque native vers où opencv se trouve sur le serveur lui-même;

enter image description here

Mais j'ai toujours le même problème. Je compile ce projet en tant que Runnable Jar File si cela fait une différence.

Répondre

0

Les chemins d'accès doivent correspondre (entre Windows et Linux) et vous devez avoir le bon fichier natif pour chaque système inclus (et testé).

Actuellement, dans votre environnement Eclipse, vous pointez vers une implémentation Windows d'OpenCV - comment Linux va-t-il savoir où chercher? Je voudrais m'assurer qu'Eclipse inclut toutes les bibliothèques lors de la création d'un fichier jar exécutable (c'est une option vérifiable), et assurez-vous que vos fichiers .dll et .so vont tous au même endroit quel que soit le système (alors assurez-vous le opencv dll est en c:\var\lib\opencv and libopencv_java249 est en /var/lib/opencv sur la boîte de linux)

dans votre programme, étant donné que les versions ne peuvent pas être les mêmes, lors du chargement de la bibliothèque - le faire de cette façon aussi:

System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 

de cette façon Il utilisera n'importe quelle version en cours sur votre système.