I am having trouble trying to compile a c-program, and get the error message that follows. The call to the main() function in the code is also included below. If I do not #define TRILIBRARY, which includes triangle.h, the program compiles perfectly. triangle.h just includes some variable definitions. I compiled this program with gcc in July and it worked fine. Since then, I have updated Windows 2000..if that means anything. I would appreciate any advice you can give. Thanks, Ernie True true@xxxxxxxxxxx $ cd c:/cygwin/bin $ gcc triangle.c -o triangle.exe /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libcygwin.a(libcmain.o)(. text+0x7d): undefined reference to `_WinMain@16' collect2: ld returned 1 exit status true/usr/bin $ [Here's the code that calls main()] #ifdef TRILIBRARY #ifdef ANSI_DECLARATORS void triangulate(char *triswitches, struct triangulateio *in, struct triangulateio *out, struct triangulateio *vorout) #else /* not ANSI_DECLARATORS */ void triangulate(triswitches, in, out, vorout) char *triswitches; struct triangulateio *in; struct triangulateio *out; struct triangulateio *vorout; #endif /* not ANSI_DECLARATORS */ #else /* not TRILIBRARY */ #ifdef ANSI_DECLARATORS int main(int argc, char **argv) #else /* not ANSI_DECLARATORS */ int main(argc, argv) int argc; char **argv; #endif /* not ANSI_DECLARATORS */ #endif /* not TRILIBRARY */ {