嗯,我真的不知道爲什麼這會解決這個問題,但我做了ImageMagick-6.8.3-Q16的回滾,修改了路徑聲明以引用舊版本的「ImageMagick-6.8.3-Q16 「並使用PPM在6.8.3目錄中重新安裝Image-Magick PPD,然後重新引導系統。
C:\Program Files\ImageMagick-6.8.3-Q16\PerlMagick>perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2012, Larry Wall
Binary build 1603 [296746] provided by ActiveState http://www.ActiveState.com
Built Mar 13 2013 11:29:21
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
C:\Program Files\ImageMagick-6.8.3-Q16\PerlMagick>ppm install Image-Magick.ppd
Unpacking Image-Magick-6.82...done
Generating HTML for Image-Magick-6.82...done
Updating files in site area...done
2 files unchanged
6 files updated
C:\Program Files\ImageMagick-6.8.3-Q16\PerlMagick>
我的代碼現在運行時沒有「Image :: Magick :: constant not defined」錯誤。我不確定這是否表明我的桌面配置有問題,或與ActivePerl 5.16.3和ImageMagick-6.8.4-Q16有衝突,但它解決了我的問題。
是否有可能你有64位Image Magick和32位Perl?我*確實在Windows 7機器上安裝了ActivePerl 5.16和Image Magick,都是64位版本。不幸的是,沒有那臺機器再爲您提供參考版本等。設置MinGW 64位以啓用編譯功能也是一件非常痛苦的事情。 –
Image Magick安裝是32位版本(「ImageMagick-6.8.4-5-Q16-x86-dll.exe」)。桌面是一個32位系統,所以如果我有一個64位版本,那麼包含的「imdisplay.exe」將無法運行,並且沒有錯誤。儘管如此,包裝錯誤有時也會發生,只是在錯誤版本的「Magick.dll」包含在PPD發行版中的情況下,我確認位於「C:\ Perl \ site \ lib \ auto \ Image \ Magick \ Magick.dll「確實有一個」i386「頭(從偏移量4A開始的」01 4C「)。 –