dk has asked for the wisdom of the Perl Monks concerning the following question:
I need a help with a new facet of windows dll hell I recently discovered when I started to compile my own dlls from CPAN. The problem is that newer windows build mechanism ( MSVC Express 8.0 ) links newly created dll with MSVCR80.DLL, and not with MSVCRT.DLL as it was in the older days. And this creates a whole new set of problems discussed everywhere, namely when an executable (in my case, perl.exe) needs to have a special perl.exe.manifest to work properly with MSVCR80, -- which doesn't not work when binaries are distributed, for reasons unknown (more specifically, "perl -MWin32" isn't runnable when the manifest is present, and displays the cursed R6034 error when it is).
I looked inside perl.exe that comes from ActiveState and found that there's no string MSVCR80, but MSVCRT; however, I cannot find a way to build my DLLs so they would also refer to MSVCRT, they always refer to MSVCR80 when I build them. Probably I'm going in the wrong direction, but I thought if I could build my DLLs the way ActiveState's perl.exe is built, the problem will go away.
My question is twofold: does anyone know how to link a binary with MSVCRT using MSVC Express 8.0? I suspect if that's impossible, ActiveState folks might just use an older MSVC version, v6 for example. If that's so, then there's a problem, because MS warns about problems with applications that are linked with different versions of CRT library.
OTOH If I'm indeed going in the wrong direction, and there's a way to easily distribute custom-built DLLs of CPAN modules, how then one does so, and makes sure that they are runnable on all kinds of windows with all kinds of service packs with and without MSVCR80*DLL installed? I definitely cannot try myself all these combination, nor I want to, so I hope there's an easy way out. Thanks.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: win32: distributing dll hell
by bingos (Vicar) on Jun 19, 2007 at 09:49 UTC | |
|
Re: win32: distributing dll hell
by GrandFather (Saint) on Jun 19, 2007 at 10:04 UTC | |
by dk (Chaplain) on Jun 19, 2007 at 13:33 UTC | |
by syphilis (Archbishop) on Jun 19, 2007 at 15:21 UTC | |
|
Re: win32: distributing dll hell
by cdarke (Prior) on Jun 19, 2007 at 10:06 UTC | |
|
Re: win32: distributing dll hell
by bart (Canon) on Jun 19, 2007 at 11:04 UTC | |
by dk (Chaplain) on Jun 19, 2007 at 13:39 UTC | |
by bart (Canon) on Jun 20, 2007 at 10:18 UTC |