View Single Post
Old 03-05-2013, 11:40 PM   #32
elsbree
Software Engineer
 
elsbree's Avatar
 
Join Date: Mar 2013

Location: Pacific Northwest
Posts: 2
Originally posted by Jim Sachs:
Do you really want to go there? OK, the very first error is:
1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'

Which, in typical cryptic Microsoft fashion, does not REALLY mean that a semicolon is missing, it means that it doesn't inderstand what PVOID64 is. Well, PVOID64 is something that is referred to by Microsoft's own header files, which are called by other MS header files, and never actually used by the code. But if you try deleting the offending line from the header files, all Hell breaks loose and you end up with even more errors.  
Jim -

I'm looking at a somewhat newer version of the header file (the version that's installed by Visual Studio 2012), but I think this is the line you're referring to:

typedefvoid * POINTER_64 PVOID64;

The problem here is likely that POINTER_64 has not been defined at the point when the compiler encounters this line. Depending on which platform you are building for, POINTER_64 should be defined to expand to __ptr64 (64-bit platform) or expand to nothing at all (32-bit platform).

In the version of the header files I have, POINTER_64 is defined in a header called basetsd.h.

If you could send me just the beginning of your source file (up to and including the last #include line), I might be able to help you sort out what's going wrong. I'll probably also need to know which compiler options you're using.
John
elsbree is offline   Reply With Quote