On Thu, 07 May 2009, Sisyphus wrote: > From: "Jan Dubois" <j...@activestate.com> > > Note that I'm not actually building XML-LibXML-Common with VC 8. I'm using > the Platform SDK, Windows Server 2003 R2 compiler. It's just that I'm > linking against dynamic xml2 and iconv libraries that were built with VC 8.
Are you sure you are dynamically linking against xml2 and iconv libraries? In that case there would be no need for your DLL to contain the manifest; only the xml2 and iconv2 libraries themselves would have to embed it. I suspect that you are statically linking against some code that has been compiled with VC8, so you'll have a direct reference to MSVCR80.dll in you DLL. You can check with depends.exe, dumpbin.exe, or simply link /dump /imports Common.dll to see which external references you have. If you have a reference to MSVCR80.dll then you did statically link some VC8 generated code. > It all works fine, except for the runtime error. (There must surely be a way > of resolving this without having to build the libraries using the SDK > compiler.) > > I did find a manifest file for an x86 Net::SSH2 dll, and I've tried to > create a manifest file for Common.dll based on it. But I don't seem to be > able to get it right. With my Common.dll.manifest file in place, I can then > successfully run the mt.exe command, but 'nmake test' then outputs the > error: > > Can't load 'blib\arch/auto/XML/LibXML/Common/Common.dll' for module > XML::LibXML: > :Common: load_file:The application has failed to start because its > side-by-side configuration is incorrect. Please see the application event > log for more detail at C:/_64/perl1004/lib/DynaLoader.pm line 202. > at test.pl line 10 The minimum change for the Manifest would be to change the architecture from "x86" to "amd64", but it is possible that the assembly version number of MSVCR80.dll needs to be adjusted as well. This is the main point of having the manifest in the first place that you can select a specific version of MSVCR80.dll from the assembly cache even if multiple versions are installed side-by-side in %WINDIR%\\WinSxS. Cheers, -Jan _______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs