Ah, thanks Roger. I had the same problem some time ago and had forgotten.
There is a way to fix this by making a change to one of EiffelStudio's
config files, unfortunatly I cannot remember which one, so if anyone out
there could let me know it would be appreciated. A question Roger if you
don't mind. Could you tell me how you found the value of _WIN32_WINNT on
your system. I'm using Vista 64-bit and would like to see what result I
get.
Regards
Chris Saunders
----- Original Message -----
From:
[hidden email]
To:
[hidden email]
Sent: Saturday, October 10, 2009 3:46 PM
Subject: RE: [eiffel_software] Don't understand this error
Hi Chris!
The problem is with either your version of Windows or with WinBase.h,
depending on how you want to look at it (or it could be something rotten
in Redmond). You be the judge.
. A little above declaration of your typedef is preprocessor
conditional:
#if (_WIN32_WINNT >= 0x0600)
When I check the value of _WIN32_WINNT, I get 0x500. My system is XP
Media Center Edition, Service Pack 3. I don't know which Windows
versions would give the needed value, but mine doesn't, and so I get the
same error as you do.
The declaration never makes it into the compiled code and so the symbol
is undefined.
R
==================================================
Roger F. Osmond
> -------- Original Message --------
> Subject: Re: [eiffel_software] Don't understand this error
> From: "Chris Saunders" <
[hidden email]>
> Date: Sat, October 10, 2009 2:40 pm
> To: <
[hidden email]>
> I use Microsoft Windows SDK v6.1. Here is the struct copied straight from
> WinBase.h:
> typedef struct _FILE_ALLOCATION_INFO {
> LARGE_INTEGER AllocationSize;
> } FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
> This file is located in a seperate location from the VC directory of
> Visual
> Studio. I'm assuming EiffelStudio is finding the correct directory as it
> recognized my installation of the SDK while installing itself.
> Regards
> Chris Saunders
> ----- Original Message -----
> From:
[hidden email]
> To:
[hidden email]
> Sent: Saturday, October 10, 2009 9:09 AM
> Subject: RE: [eiffel_software] Don't understand this error
> Hi Chris!
> I was unable to find any mention of FILE_ALLOCATION_INFO in WinBase.h or
> Windows.h, in VC7 or VC9 versions of Visual Studio. What environment
> are you using?
> R
> ==================================================
> Roger F. Osmond
> > -------- Original Message --------
> > Subject: [eiffel_software] Don't understand this error
> > From: "Chris Saunders" <
[hidden email]>
> > Date: Fri, October 09, 2009 5:45 pm
> > To: "Eiffel Software Mailing List" <
[hidden email]>
> > Here is a little function I have in a class that is an Eiffel interface
> > to
> > to a Windows "C" struct called FILE_ALLOCATION_INFO:
> > c_structure_size: NATURAL_64
> > -- Size to allocate (in bytes)
> > external
> > "C inline use <Windows.h>"
> > alias
> > "[
> > return (size_t)sizeof (FILE_ALLOCATION_INFO);
> > ]"
> > end
> > The struct is actually defined in WinBase.h but Windows.h does include
> > WinBase.h.
> > I get this error when I try to compile the class that contains this
> > code:
> > 2 C Compiler Error: Error C2065: 'FILE_ALLOCATION_INFO' : undeclared
> > identifier .\eifgens\wel_file_project\w_code\c17\fi554.c 31, 1
> > I cannot understand why I receive this error.
> > Regards
> > Chris Saunders