Is this all that is needed to get up and running with building Perl modules?
Should be all that's needed. You might want to take a look at what changes the running of that command makes to the path.
I installed the compiler into C:\_64\Platform_SDK. I therefore have to run:
C:\_64\Platform_SDK\SetEnv.cmd /XP64 /RETAIL
If you've installed into a directory that contains spaces you may need to double-quote the path:
"C:\path with spaces\SetEnv.cmd" /XP64 /RETAIL
That prepends the following 3 directories to my path:
C:\_64\Platform_SDK\Bin\Win64\x86\AMD64
C:\_64\Platform_SDK\Bin
C:\_64\Platform_SDK\Bin\WinNT
It's the first of those directories that houses the compiler (cl.exe). If it's the same for you, and the Makefile.PL can't find the compiler, then one suspects a Makefile.PL bug. Which module (and version number of that module) is it that produces this error ?
Math-FFT-1.28 is a nice, easy extension to build just to check that everything is as it should be. Here's what I get for it:
C:\_64\comp\Math-FFT-1.28>perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Math::FFT
C:\_64\comp\Math-FFT-1.28>nmake test
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
cp FFT.pm blib\lib\Math\FFT.pm
C:\_64\perl1007\bin\perl.exe C:\_64\perl1007\lib\ExtUtils\xsub
+pp -typem
ap C:\_64\perl1007\lib\ExtUtils\typemap -typemap typemap FFT.xs > FFT
+.xsc && C:
\_64\perl1007\bin\perl.exe -MExtUtils::Command -e "mv" -- FFT.xsc FFT.
+c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:pr
+ecise -DWI
N32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -D
+USE_SITECU
STOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_
+SYS -DUSE_
PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precis
+e -DVER
SION=\"1.28\" -DXS_VERSION=\"1.28\" "-IC:\_64\perl1007\lib\CORE" F
+FT.c
FFT.c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:pr
+ecise -DWI
N32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -D
+USE_SITECU
STOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_
+SYS -DUSE_
PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precis
+e -DVER
SION=\"1.28\" -DXS_VERSION=\"1.28\" "-IC:\_64\perl1007\lib\CORE" f
+ft4g.c
fft4g.c
cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:pr
+ecise -DWI
N32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE -D
+USE_SITECU
STOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_
+SYS -DUSE_
PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precis
+e -DVER
SION=\"1.28\" -DXS_VERSION=\"1.28\" "-IC:\_64\perl1007\lib\CORE" a
+rrays.c
arrays.c
Running Mkbootstrap for Math::FFT ()
C:\_64\perl1007\bin\perl.exe -MExtUtils::Command -e "chmod" --
+ 644 FFT.b
s
C:\_64\perl1007\bin\perl.exe -MExtUtils::Mksymlists -e "Mksym
+lists('NAM
E'=>\"Math::FFT\", 'DLBASE' => 'FFT', 'DL_FUNCS' => { }, 'FUNCLIST' =
+> [], 'IMP
ORTS' => { }, 'DL_VARS' => []);"
link -out:blib\arch\auto\Math\FFT\FFT.dll -dll -nologo -nodefa
+ultlib -de
bug -opt:ref,icf -ltcg -libpath:"C:\_64\perl1007\lib\CORE" -machine:
+AMD64 FFT.
obj fft4g.obj arrays.obj C:\_64\perl1007\lib\CORE\perl510.lib oldnam
+es.lib ker
nel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
+ shell32.l
ib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib wi
+nmm.lib v
ersion.lib odbc32.lib odbccp32.lib comctl32.lib bufferoverflowU.lib ms
+vcrt.lib -
def:FFT.def
Creating library blib\arch\auto\Math\FFT\FFT.lib and object blib\ar
+ch\auto\Ma
th\FFT\FFT.exp
Generating code
c:\_64\comp\math-fft-1.28\arrays.c(363) : warning C4715: 'pack2D' : no
+t all cont
rol paths return a value
c:\_64\comp\math-fft-1.28\arrays.c(200) : warning C4715: 'pack1D' : no
+t all cont
rol paths return a value
Finished generating code
if exist blib\arch\auto\Math\FFT\FFT.dll.manifest mt -nologo -
+manifest b
lib\arch\auto\Math\FFT\FFT.dll.manifest -outputresource:blib\arch\auto
+\Math\FFT\
FFT.dll;2
if exist blib\arch\auto\Math\FFT\FFT.dll.manifest del blib\arc
+h\auto\Mat
h\FFT\FFT.dll.manifest
C:\_64\perl1007\bin\perl.exe -MExtUtils::Command -e "chmod" --
+ 755 blib\
arch\auto\Math\FFT\FFT.dll
C:\_64\perl1007\bin\perl.exe -MExtUtils::Command -e "cp" -- FF
+T.bs blib\
arch\auto\Math\FFT\FFT.bs
C:\_64\perl1007\bin\perl.exe -MExtUtils::Command -e "chmod" --
+ 644 blib\
arch\auto\Math\FFT\FFT.bs
C:\_64\perl1007\bin\perl.exe "-MExtUtils::Command::MM" "-e" "t
+est_harnes
s(0, 'blib\lib', 'blib\arch')" t/*.t
t/apps.t ... ok
t/fft.t .... ok
t/stats.t .. ok
All tests successful.
Files=3, Tests=48, 2 wallclock secs ( 0.14 usr + 0.11 sys = 0.25 CP
+U)
Result: PASS
Cheers, Rob |