http://qs321.pair.com?node_id=484549

hokie has asked for the wisdom of the Perl Monks concerning the following question:

Monks,

As part of a project at work I need to utilize PDL::Opt::Simplex to do a little optimization. Being on a windows box, not all the modules I would desire are available via PPM. PDL-2.4.2 appears to be that way. So in order to get the functionality I need I went about learning how to install/compile modules that include c++. I read all the relevant tutorials and SoPW via super search. I was able to make progress so that there was less complaining by Makefile.pm and nmake. Nmake still dies and throws the error below:

C:\PDL-2.4.2>nmake

Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_ST
RICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SY
S -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"2.4.2\"
-DXS_VERSION=\"2.4.2\" -IC:\Perl\lib\CORE pdlcore.c
pdlcore.c
c1 : warning C4349: /Gf is deprecated and will not be supported in future versio ns of Visual C++; remove /Gf or use /GF instead
pdlcore.c(22) : warning C4101: 'ref' : unreferenced local variable
pdlcore.c(71) : warning C4244: 'initializing' : conversion from 'double' to 'PDL _Byte', possible loss of data
pdlcore.c(72) : warning C4244: 'initializing' : conversion from 'double' to 'PDL _Short', possible loss of data
pdlcore.c(73) : warning C4244: 'initializing' : conversion from 'double' to 'PDL _Ushort', possible loss of data
pdlcore.c(74) : warning C4244: 'initializing' : conversion from 'double' to 'PDL _Long', possible loss of data
pdlcore.c(75) : warning C4244: 'initializing' : conversion from 'double' to 'PDL _LongLong', possible loss of data
pdlcore.c(76) : warning C4244: 'initializing' : conversion from 'double' to 'PDL _Float', possible loss of data
pdlcore.c(88) : warning C4244: 'initializing' : conversion from 'double' to 'PDL _Float', possible loss of data
pdlcore.c(100) : warning C4101: 'hash' : unreferenced local variable
pdlcore.c(140) : warning C4101: 'fake' : unreferenced local variable
pdlcore.c(144) : warning C4101: 'dat' : unreferenced local variable
pdlcore.c(402) : warning C4018: '<' : signed/unsigned mismatch
pdlcore.c(455) : warning C4101: 'msg' : unreferenced local variable
pdlcore.c(709) : error C2036: 'void *' : unknown size
pdlcore.c(927) : error C2036: 'void *' : unknown size
pdlcore.c(1145) : error C2036: 'void *' : unknown size
pdlcore.c(1363) : error C2036: 'void *' : unknown size
pdlcore.c(1581) : error C2036: 'void *' : unknown size
pdlcore.c(1799) : error C2036: 'void *' : unknown size
pdlcore.c(2017) : error C2036: 'void *' : unknown size
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x2' Stop.
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x2' Stop.
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x2' Stop.

I was wondering if this error was still a complier setup problem or a problem that runs deeper with the PDL setup. Obviously I could be doing something wrong that is very apparent, but I donít see it. I would like to learn how to compile modules on windows but Iím really looking for a solution that will get Opt::Simplex working. Thank you all in advance for your wise answers.

-hokie