Bonjour à tous,
je tente d'utiliser JMagick (port d'ImageMagick), et lors que je tente d'exécuter le code
j'ai l'erreur suivante :
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; }
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.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)
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 :
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 ?Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
Partager