在Cygwin中对WinMain的未定义引用

时间:2014-05-28 17:36:52

标签: cygwin winmain

我正在尝试编译并遇到以下问题

$ gcc errlib.c -o errlib.o

/usr/lib/gcc/x86_64-pc-cygwin/4.8.2/../../../../lib/libcygwin.a(libcmain.o): In function `main':
/usr/src/debug/cygwin-1.7.30-1/winsup/cygwin/lib/libcmain.c:39: undefined reference to `WinMain'
/usr/src/debug/cygwin-1.7.30-1/winsup/cygwin/lib/libcmain.c:39:(.text.startup+0x7e): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `WinMain'
collect2: error: ld returned 1 exit status

有什么建议吗?这些文件经过了很好的测试,并且之前生成的代码很好,但现在我认为可能有一些cygwin设置或者......在cygwin上的Windows 8上进行编译。

1 个答案:

答案 0 :(得分:12)

使用-c编译标志仅生成目标文件。如果没有-c,它会尝试链接可执行文件,链接器(自动调用)会失败。