"Jan Dubois" (j...@activestate.com) writes: > The manifest file is supposed to be generated by the compiler. IN VS2005 > and later you need to add an excplicit runtime binding manifest to be able > to use msvcr80.dll or msvcr90.dll from your code. Otherwise you'll get > a runtime error that your code has not been linked correctly.
The binary I distribute *is* compiled with the compiler from VS2008. Without manifest. And it definitely works. I would guess the reason the compile does not generate a manifest file, is that I don't need one. To wit, I have this line in my makefile.pl: 'CCFLAGS' => '/MT', # Debug-flag: '/Zi', That is, I link statically to the run-time library. Originally, I distributed the run-time DLL separately together my own DLL (at this point, I might have compiled it with an older version of the VC++ compiler), but when a user I tried to use it from ASP, this did not work out. I asked some C++ MVPs for advice, and it was from the I got the idea to do a static link. Indeed, if I remove /MT, I do get the manifest file, but for reasons I'm not interested in exploring, I get linking errors, so whether the mt command works, I can't tell. I would argue that this is a short-coming in ExtUtils::MM_Win32. The file should not generate the mt command, when any of the options for static linking has been specified. Or there should be a way to suppress the command. For now I will have to document that my module does not build with AS 1004. -- Erland Sommarskog, Stockholm, esq...@sommarskog.se