IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[JNI] "liens insatisfaits"


Sujet :

Entrée/Sortie Java

  1. #1
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut [JNI] "liens insatisfaits"
    Bonjour à tous,
    je tente d'utiliser JMagick (port d'ImageMagick), et lors que je tente d'exécuter le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MagickImage image = null;
    try {
        image = new MagickImage(new ImageInfo(filename));
    } catch (MagickException e) {
        e.printStackTrace();
        throw e;
    }
    j'ai l'erreur suivante :
    Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\java\bin\jmagick.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at magick.MagickLoader.<clinit>(MagickLoader.java:13)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at magick.Magick.<clinit>(Magick.java:21)
    at fr.cgin.tests.imaging.Main.convertUsingMagick(Main.java:252)
    at fr.cgin.tests.imaging.Main.main(Main.java:141)
    La propriété système "java.library.path" contient le répertoire "C:\java\bin\", celui-ci contenant jmagick.dll, ainsi que toutes les dlls correspondantes d'ImageMagick (CORE* et IM*). J'ai vérifié que les dépendances de jmagick.dll étaient bien satisfaites via l'outil DependencyWalker.
    Comment corriger ce problème, sachant que :
    - j'ai tenté d'ajouter le chemin dans la variable d'environnement PATH
    - je n'ai pas trouvé de dépendances manquantes*
    - les versions de JMagick et ImageMagick concordent (6.3.9 - Q16)

    Merci beaucoup !

    * : le rapport génère un avertissement :
    Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
    Néanmoins, je n'ai jamais eu de problème en exécutant un quelconque programme lié avec la dll correspondante (mpr.dll). Peut être que la JVM ne laisse pas passer cela ?
    En premier lieu, utilisez un moteur de recherche.
    En second lieu, postez sur le forum adéquat !

  2. #2
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    J'ai ajouté à la configuration d'exécution d'eclipse la variable PATH + le chemin contenant les dlls. Et ça fonctionne...
    J'aurai peut être dû redémarrer la machine après avoir changé le PATH du système...
    En premier lieu, utilisez un moteur de recherche.
    En second lieu, postez sur le forum adéquat !

  3. #3
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par Patriarch24 Voir le message
    J'aurai peut être dû redémarrer la machine après avoir changé le PATH du système...
    Redémarrer la session suffit à priori.
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo