This is the mail archive of the pthreads-win32@sourceware.cygnus.com mailing list for the pthreads-win32 project. See the pthreads-win32 home page for more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: newcomer has a question


On Sun, 11 Apr 1999, D. J. Foreman wrote:

> Hi All,
> Just tried my 1st Visual C++ compile of a simple pthreads program, which
> only does a pthread_create, just to see if I've got everything set up
> correctly.  I am getting the following error (and many like it) in winnt.h
> (which I didn't include myself).  My only includes are: pthread.h,
> LEDA/string.h, iostream.h and iomanip.h.
> 
> Am I doing something wrong?
> 
> d:\DevStudio\VC\INCLUDE\winnt.h(199) : error C2467: illegal declaration of
> anonymous 'struct'
> 
> PS. The LEDA include is the "Library of Efficient Data-structures and
> Algorithms" from the Max Planck Institute.

The line it's complaining about in WINNT.H seems odd to me. The same
case compiled with gcc causes a warning:

x.c:11: warning: unnamed struct/union that defines no instances

#if defined(MIDL_PASS)
typedef struct _LARGE_INTEGER {
#else // MIDL_PASS
typedef union _LARGE_INTEGER {
    struct {
        DWORD LowPart;
        LONG HighPart;
    };                 <<<<<<<<<<<<<<<<<<<< Line 199
    struct {
        DWORD LowPart;
        LONG HighPart;
    } u;
#endif //MIDL_PASS
    LONGLONG QuadPart;
} LARGE_INTEGER;

I don't believe this problem is precipitated by anything in
pthreads-win32. Perhaps the LEDA code is causing the midl stuff
(something to do with double longs?) to be included.

Ross

+----------------------+---+
| Ross Johnson         |   | E-Mail: rpj@ise.canberra.edu.au
| Info Sciences and Eng|___|
| University of Canberra   | FAX:    +61 6 2015227
| PO Box 1                 |
| Belconnen  ACT    2616   | WWW:    http://willow.canberra.edu.au/~rpj/
| AUSTRALIA                |
+--------------------------+