Prima compilation errors with VC 2008 Express

While building perl distrib Prima-1.38 using vc 2008 express, I got the following error:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(358) : error C3163: '_vsnprintf': attributes inconsistent with previous declaration
        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(350) : see declaration of '_vsnprintf'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

The quick and dirty hack I found was to comment out the stdio.h line 358, and run nmake again. If you follow this hack, don’t forget to uncomment the line 258 of stdio.h after building the distibution.

Then the build process continue until these error messages:

img/conv.c(286) : error C2065: 'int64_t' : undeclared identifier
img/conv.c(286) : error C2146: syntax error : missing ';' before identifier 'aNumerator'
img/conv.c(286) : error C2065: 'aNumerator' : undeclared identifier
//and so on...

Ok, the data type in64_t is not defined, so I edit the file img/conv.c and add the following definition just before “#define minimum_ByteValue 0” :

#define int64_t __int64

Then, nmake, nmake test and nmake install.

:)

That’s not a fix, but I works and I can now try Data::Dumper::GUI