Missing DLL
Philippe Lhoste <[email protected]> Wed, 16 Oct 2002 13:00:49 +0000 (UTC)
| Newsgroups | gmane.comp.video.image-magick.windows |
|---|---|
| Message-ID | <[email protected]> |
I just downloaded the binaries and source of ImageMagick 5.5.1 (Q16 for
binary, -1 for source).
I uninstalled the previous version, installed the new one, rebooted to be
sure the path was updated (on WinNT4 sp5 FAT16 + IE4's new shell (Active
Desktop) + IE5.5).
identify -verbose logo: works fine.
I tried convert -list format, and I get a dialog box stating "convert.exe
- Unable To Locate DLL", then I get the list.
FileTip quickly shown me that CORE_RL_magick_.dll depended on msvcr70.dll.
Ouch, it was compiled with VS.net... Well, you supplied at least
msvcr70.dll, msvcp70.dll and even mfc70.dll (for IMDisplay, I suppose). At
least, you don't seem to depend on the dreaded OLEACC.dll... :-)
Running convert with the Dependency Walker
<http://www.dependencywalker.org> quickly shown that MSVCI70.dll was
missing... It shown that is is needed by CORE_RL_fpx_.dll, whatever this
DLL is doing. So I suggest either you remove this dependency, or supply
this file with the binary.
Curiously enough, the missing functions are:
class ostream & ostream::put(unsigned char)
class ostream & ostream::write(char const *,int)
which seems very basic. Strange.
OK, from MSDN, it seems that MS has put the "iostream Library and Standard
C++ Library" there... Does this DLL really need these functions?
Well, a Google search shown me some locations where to find this file, I
downloaded it, checked with anti-virus, put it in the ImageMagick
installation directory and the problem was solved.
BTW modules\IM_MOD_RL_XTRN_.dll seems to call the IsTNT function from
KERNEL32.dll. It seems I don't have this function on my system version.
Hopefully, it is called dynamically and error is well handled...
Mmm, this is in the Dependency Walker FAQ:
"Why are some modules looking for a function named "IsTNT" in
KERNEL32.DLL?
TNT is a 32-bit emulation layer written by Phar Lap. There are still some
modules in use that have pieces of code that check to see if they are
running on TNT by calling GetProcAddress("IsTNT") for KERNEL32.DLL. This
warning can be ignored."
So OK.
I still cannot use the draw directives, I will check on another system.
No GS installed, FYI.
--
--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--=#=--
Philippe Lhoste (Paris -- France)
Professional programmer and amateur artist
http://jove.prohosting.com/~philho/