#37 basetsd.h missing RC_INVOKED protection

closed-fixed
nobody
2001-07-30
2001-04-13
Colin Peters
No

The basetsd.h file is included from winnt.h in the
section enabled when RC_INVOKED is defined. This is
fine, as basetsd includes some #defines, but basetsd
does not have #ifndef RC_INVOKED around C constructs
like typedef, so windres chokes on it.

This bug causes windres to fail when compiling .rc
scripts which #include <windows.h>.

I think the actual error was something about a
font called INT64, but I don't have it in front of
me.

#ifndef RC_INVOKED protection should be added around
all language constructs in the basetsd.h header. If
no-one else does I'll try and work up a patch to
submit some time in the next week.

As a workaround, edit winnt.h and enclose the
#include <basetsd.h> line in #ifndef RC_INVOKED ...
#endif (winnt.h line 144).

I doubt anybody uses the constants defined
in basetsd.h for their resource scripts anyway.

Discussion

  • Colin Peters
    Colin Peters
    2001-04-13

    • summary: basetsd.h midding RC_INVOKED protection --> basetsd.h missing RC_INVOKED protection
     
  • Danny Smith
    Danny Smith
    2001-07-30

    Logged In: YES
    user_id=11494

    This has been fixed by Colin's patch

     
  • Danny Smith
    Danny Smith
    2001-07-30

    • status: open --> closed-fixed