This question is an exact duplicate of:
Many thanks to ephemient for recommending to try vcvarsall.bat.
In DOS successfully ran vcvarsall.bat, which was part of MS C++ Express 2008
Next I continued to try to follow the PerlMonks advice by using ppm, i.e. http://www.perlmonks.org/?node_id=434813
So I tried to make, really nmake Unicode-Map-0.112 again. I received one more issue:
C:\perl\lib\core\win32.h (61) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory. NMAKE: fatal error U1077: 'C:\Program Files\Microsoft Visual Studio 9.0\VC\Bin\Cl.exe: return code '0x2' Stop
I turns out that I do have the Windows.h file: Windows.h is located in C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
I'm guessing I just also need to Windows.h to the PATH as well.
Does this sound correct or is there another route I should be traveling as I'm stumbling ahead?
Thanks again.
You need to do all of your calls to nmake from an environment that is initialized with the variables for the SDK version you're using. (v6.0A in your case).
In your start menu, go to the 'Microsoft Windows SDK *' menu folder, and start the CMD shell from there.
Inside that CMD shell,
cd
to your code directory and run nmake from there.The problem with going down this route is that your
perl
was compiled using a different compiler. You are much better off downloading the package and installing it viappm
as I described in How do I use MS C++ Express 2008 to build Perl Unicode::Map on Windows?.As for the compilation to work, you need to invoke the
SetEnv.cmd
script which you can find in theBin
directory of your platform SDK installation after thevcvarsall.bat
script.