FYI, I recently installed MS Visual Studio .Net 2003 and I started having a number of nmake failures when installing modules that didn't have a recent ppd available. I stumbled across this little batch file: VCVARS32.bat. On my system it is buried: C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin If you are stuck in Windows and need to compile a module then try launching this batch file before doing your nmake, nmake test, nmake install. While I always prefer to use PPM, sometimes I can't find the most recent version of a module. (In this case I needed POE .95) Hope this helps those stuck in Win32 land... -MC

Replies are listed 'Best First'.
Re: Win32, Visual Studio.Net, nmake errors
by ikegami (Patriarch) on Nov 18, 2006 at 00:46 UTC

    Careful! While using VC7/.Net's nmake should not be a problem, I believe you need to use the VC6 (not 7/.Net) compiler to compile modules to run under ActivePerl.

    VC6 also has a VCVARS32.bat

      I believe you need to use the VC6 (not 7/.Net) compiler to compile modules to run under ActivePerl

      While that's good advice, it generally doesn't matter. Win32::SharedFileOpen is the only module I (definitely) know of that will build on ActivePerl with VC6, but not VC7.0 (or later). As I understand it, the fact that VC7.0 (and later) uses a different runtime C library than ActivePerl, means that there's a potential for irreconcilable difficulties. (This is precisely what accounts for the failure re Win32::SharedFileOpen.) But such problems seem to arise very infrequently.

      Of course, if one did want to build Win32::SharedFileOPen (or any other module) on ActivePerl using a freely available compiler then, assuming one has a recent ActivePerl, one could simply use MinGW (which does use the same C runtime as ActivePerl) and dmake (or nmake) - as MinGW and dmake/nmake now work seamlessly with ActivePerl.

      For older versions of ActivePerl that don't have this seamless interface, you can still use MinGW and dmake/nmake so long as you install the latest ExtUtils::FakeConfig and set the perl5opt environment variable to -MConfig_m.

      I might as well give Strawberry Perl a plug while I'm at it - since I'm getting set to jump on that bandwagon. It comes with its own compiler/make (MinGW/dmake) combo so there's no need to chase up anything. Just install PPM into your Strawberry Perl and you can then also install modules via ppm if you want.

      Cheers,
      Rob
Re: Win32, Visual Studio.Net, nmake errors
by bingos (Vicar) on Nov 18, 2006 at 12:36 UTC

    Alternatively, to install POE on MSWin32 I provide a number of PAR distributions at my website for MSWin32.