I'm getting the Syntax Error in input(1) error for this line of code, in C when I do:
swig -python myfile.i in console.
It concerns the following code, specifically the last line of these typedefs.
typedef unsigned short WORD;
typedef unsigned int DWORD;
typedef unsigned long long QWORD;
typedef unsigned char BYTE;
typed开发者_JAVA百科ef unsigned int bool; //<= THIS LINE OF CODE TRIGGERS THE ERROR.
As far as I know, bool is not defined in C so I would think swig would let this go with no issue. I compiled as c in VS 2010 and it was just fine.
Mark
C does have a bool
type (actually a macro) but it is a C99 feature and you have to include stdbool.h
to get bool
; you only have _Bool
if you don't include stdbool.h
.
VS2010 doesn't support C99, it only supports C89 (AFAIK) so the typedef
will work fine with that.
I'd guess that something somewhere is pulling in stdbool.h
and that is messing up your typedef
as it will look like this:
typedef unsigned int _Bool;
when the compiler sees it and the compiler won't like that at all.
精彩评论