问题
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.
回答1:
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.
回答2:
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 via ppm
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 the Bin
directory of your platform SDK installation after the vcvarsall.bat
script.
来源:https://stackoverflow.com/questions/1016260/still-nmake-problem-with-unicode-map-0-112-after-trying-vcvarsall-bat