windows.h breaks ObjC ?

MarketLogix mlx@mlx.com
Sun Nov 28 08:43:00 GMT 1999


Hi all,

Just installed v1.0 and spent the whole weekend pulling my hair out.

Oh, the general product looks pretty nice but I'm afraid that the new
windows headers somehow break ObjC preprocessing.  I know that Cygnus
has never supported ObjC so, as usual, I didn't expect much.

But it seems as though we may have hit a new low here.

Either that or I'm just too bleary-eyed to see something obvious.

Take this source code example, lets call it -> test.c

#include <windows.h>
#include <objc/Object.h>
int main ( int argc, char *argv[] (
{
  printf("hello world\n");
  return 0;
}

now try to compile it to object via:

gcc -c -x objective-c test.c -o test.o

I get the foillowing:

Object.h:37: invalid identifier `@struct'
Object.h:37: parse error before `Object'
Object.h:38: syntax error before `{'
Object.h:43: method definition not in class context

This is, of course, the first occurence of an

@interface directive

Now, comment out
//#include <windows.h>

it compiles without a hitch.

I built gcc-2.95.2 from gnu AND download pre-built from
Mumit Khan's site ALL with the same result.

Gotta roll back to b20.1 ?

What gives ?

------------

Well, I didn't send this mail right away and decided to research
a bit more.  Here's what I found:

basetyps.h, line #20: #define interface struct

Oh, just brilliant - concocted by some C++ 'er no doubt !!!
C'mon, please tell me you're not already married to this.

Steve B.

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list