2007-10-03(Wed)
jmagick.dll: Can't find dependent libraries
javaでImageMagickを使いたかったので、JMagickを使用して使ってみる事になった。
とりあえず、ソースをeclipseで作った。
JMagickのHP(http://www.yeo.id.au/jmagick/)に行って、
Windows 6.2.9-4-Q8 , 6.2.9-4-Q16 jmagick-6.2.6-win-im-6.2.9.zip
を落として、jmagick.dllをソースのカレントに置いて、jmagic.jarを取込み、走らせてみた。
(dllをカレントに置いたのはパスを通すのが面倒だったから。。。)
Exception:
java.lang.UnsatisfiedLinkError: C:\MyWorks\workspace\JMagick\jmagick.dll: Can't find dependent libraries
jmagick.dllがあるのに、無いとおっしゃられる。
グーグル先生に探してもらったが、英語か中国語のサイトしか引っかからない。
仕事なのでとりあえず英文を読むが皆、未解決。
ってか、質問が放置されている。
う~ん、って事は初歩的なミスなんだろう。。。
昔、VB用のDLLを作った時に(CのインターフェースしかなかったACOSエミュレータをVBやExcelで使いたかったので作った事があった)そのACOSエミュレータで使用している全てのDLLへのPATHを通したら、うまく動いた事を半日後に思い出した。
もしかすると jmagick.jar と jmagic.dll だけじゃ、足りないんじゃない?
って事で、ImageMagickのWindows版を落として(http://www.imagemagick.org/script/binary-releases.php#windows)インストールして、Eclipseを再起動して、実行してみたら動きました!。
...本当に初歩の初歩でした。
どうやら、ImageMagickの CORE_RL_*.dll が必要みたいです。
環境変数:PATHから、ImageMagickのpathを消して、CORE_RL_*.dll をカレントにコピーして実行したら動きました。
とりあえず、めでたし、めでたし。
まだ、wide = (int)MagickImg.getDimension().getWidth(); で Unable to retrieve handle って起られてるんですけどね。
以上。
とりあえず、ソースをeclipseで作った。
JMagickのHP(http://www.yeo.id.au/jmagick/)に行って、
Windows 6.2.9-4-Q8 , 6.2.9-4-Q16 jmagick-6.2.6-win-im-6.2.9.zip
を落として、jmagick.dllをソースのカレントに置いて、jmagic.jarを取込み、走らせてみた。
(dllをカレントに置いたのはパスを通すのが面倒だったから。。。)
Exception:
java.lang.UnsatisfiedLinkError: C:\MyWorks\workspace\JMagick\jmagick.dll: Can't find dependent libraries
jmagick.dllがあるのに、無いとおっしゃられる。
グーグル先生に探してもらったが、英語か中国語のサイトしか引っかからない。
仕事なのでとりあえず英文を読むが皆、未解決。
ってか、質問が放置されている。
う~ん、って事は初歩的なミスなんだろう。。。
昔、VB用のDLLを作った時に(CのインターフェースしかなかったACOSエミュレータをVBやExcelで使いたかったので作った事があった)そのACOSエミュレータで使用している全てのDLLへのPATHを通したら、うまく動いた事を半日後に思い出した。
もしかすると jmagick.jar と jmagic.dll だけじゃ、足りないんじゃない?
って事で、ImageMagickのWindows版を落として(http://www.imagemagick.org/script/binary-releases.php#windows)インストールして、Eclipseを再起動して、実行してみたら動きました!。
...本当に初歩の初歩でした。
どうやら、ImageMagickの CORE_RL_*.dll が必要みたいです。
環境変数:PATHから、ImageMagickのpathを消して、CORE_RL_*.dll をカレントにコピーして実行したら動きました。
とりあえず、めでたし、めでたし。
まだ、wide = (int)MagickImg.getDimension().getWidth(); で Unable to retrieve handle って起られてるんですけどね。
以上。