UnsatisfiedLinkError: pas de opencv_java249 en java.de la bibliothèque.chemin
Quelques problèmes à faire un morceau de code à exécuter sur mon mac.
A quelqu'un de m'écrire une image analyse de l'application java, mais je reçois ce message d'erreur lorsque vous exécutez sur netbeans.
exécuter: Exception in thread "main" java.lang.UnsatisfiedLinkError: aucun
opencv_java249 en java.de la bibliothèque.chemin d'accès à
java.lang.Chargeur de classe.loadLibrary(ClassLoader.java:1857)
java.lang.Moment de l'exécution.loadLibrary0(Runtime.java:870) à
java.lang.Système.loadLibrary(Système d'.java:1119) à
image.prossing.Test.main(Test.java:28) Java Résultat: 1 construction RÉUSSIE
(durée totale: 0 secondes)
Ont le projet netbeans, et ajouté les fichiers jar nécessaires que les bibliothèques. Le programmeur m'a dit de télécharger la bonne version d'OpenCV et la copie de la opencv.dll fichier de mon java/jre/bin. Mais je ne trouve pas le fichier dll ou le java/jre dossier.
Je sais que la plupart de programmation qui se passe sur windows pour une raison. J'espère que quelqu'un peut m'aider à résoudre ce problème et exécuter cette application sur mon mac.
Voici la première partie du code, la partie qui est probablement la création de l'erreur:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package image.prossing;
/**
*
* @author Dumith Salinda
*/
import java.util.ArrayList;
import java.util.List;
import org.opencv.core.Core;
import static org.opencv.core.Core.FONT_HERSHEY_SIMPLEX;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.highgui.Highgui;
import org.opencv.imgproc.Imgproc;
public class Test {
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Désolé si c'est pas clair, faites le moi savoir quelles sont les informations à ajouter, si quelque chose est manquant ou n'est pas clair.
Serait vraiment reconnaissant de toute aide que vous pourriez faire. Sincèrement
Meir Warcel
Vous n'avez donc essayer d'utiliser recompiler la bibliothèque pour Mac ou obtenir la version Mac, et si oui, avait-il travailler pour vous?
OriginalL'auteur Meir | 2014-11-23
Vous devez vous connecter pour publier un commentaire.
Regarder dans votre OpenCV répertoire;
Pour un exemple de ceci; (installé à l'aide de
brew install opencv3 --with-java --with-python3
)Vous verrez;
Maintenant que vous avez déjà OpenCV la bibliothèque native de Java (
libopencv_javaXXX.so
) compilé avec vous, la seule chose qui reste est, mac bibliothèque dynamique.Lien
libopencv_javaXXX.so
àlibopencv_javaXXX.dylib
;Maintenant ajouter
/usr/local/Cellar/opencv3/XXX/share/OpenCV/java
comme Bibliothèque Native Endroits dans IntelliJ ou quelque chose de similaire dans Eclipse.Ou les ajouter à vos arguments JVM;
-Djava.library.path=
est le chemin à parcourir: vous donne plus de flexibilité pour compiler les différentes versions d'OpenCV et choisir exécuter, par exemple pour comparer les performances.OriginalL'auteur Harsh Vakharia
Sur un mac OSX Yosemite, j'ai laissé tomber la libopencv_java2412.dylib fichier dans
/Library/Java/Extensions
et cela a fonctionné.Après vous construisez opencv, le libopencv_java2412.dylib est généré dans /build/lib.
Même sur la Sierra.
OriginalL'auteur BatteryAcid
Après avoir passé beaucoup de temps , et en utilisant les différentes suggestions de StackOverflow, j'ai réussi à obtenir la solution pour windows. mais je suis de l'ajout d'une solution pour mac. espérons que cela devrait fonctionner.
Charge votre lib selon la configuration de votre système.
2.maintenant utiliser cette méthode selon votre besoin
OriginalL'auteur Kuldeep Kala
Exception est présent depuis le dessous de la ligne de code:
Votre programme est en train d'essayer de charger une bibliothèque native par le nom de l'argument dans l'appel à
loadLibrary
de la méthode, il n'est pas en mesure de le localiser. Assurez-vous que la bibliothèque native (opencv.dll) est placé à l'un des emplacements présents dansjava.library.path
système de la propriété comme la JVM ressemble à ces endroits pour charger une bibliothèque native (qui peuvent ne pas contenir de "java/jre/bin').Vous pouvez imprimer
java.library.path
dans votre programme comme ci-dessous:.dll
fichier) lors de l'exécution de son code sur Mac.Oh..oui! il ne fonctionnera pas avec .dll sur Mac. Meir a besoin d'obtenir de la bibliothèque pour Mac.
OriginalL'auteur sjain
Vous ne pouvez pas simplement mettre de la bibliothèque Windows (
dll
fichier) sur Mac et le faire fonctionner - vous besoin de compiler la bibliothèque pour Mac (ou obtenir la version de Mac de la bibliothèque).Veuillez voir ici pour des conseils sur la façon de le faire:
.dll Équivalent sur Mac OS X
Comment les bibliothèques de tiers travail en Objective-C et Xcode?
Comment utiliser une DLL de Windows avec Java sous Mac OS X?
OriginalL'auteur striving_coder
Juste ajouter dans le chemin d'accès au dossier où votre
opencv_java249.dll
est; ce serait quelque chose commeC:\bin\opencv\build\java\x32
ouC:\bin\opencv\build\java\x64
en fonction de votre architecture de la machine. Le problème est quejava.library.path
est en fait lepath
variable.OriginalL'auteur EliuX
netebans droit klick projet chosew properti
a choisi d'exécuter, de travail direktory, cliquez sur Navigateur changement d'opencv dossier de presse/lib,
OriginalL'auteur israta sibuea