在cygwin中WinMain @ 16下的未定义引用

时间:2017-11-26 23:05:20

标签: linux gcc compilation cygwin winmain

我是stackflow的新手,之前我没有计算机系统和编程的背景。但是,现在我需要在cygwin下为我的生物信息学项目进行分析。当我尝试使用cygwin编译文件名' zone_b.linux时,我遇到了一些错误,以生成可执行程序。 linux文件是从网络https://github.com/haddocking/HADDOCK-binding-sites-tutorial/blob/master/ana_scripts/zone_b.linux下载的。当我尝试使用cygwin下的以下命令进行编译时,会产生以下错误:

$ gcc zone_b.linux
/usr/lib/gcc/i686-pc-cygwin/6.4.0/../../../libcygwin.a(libcmain.o): In 
function `main':
/usr/src/debug/cygwin-2.9.0-3/winsup/cygwin/lib/libcmain.c:37: undefined 
reference to `WinMain@16'
collect2: error: ld returned 1 exit status

Error description

我在stackoverflow下搜索以下错误,我发现了两个类似问题的帖子。

首先是来自undefined reference to `WinMain@16'的帖子。它表示问题是由于Microsoft'链接器使用调用Microsoft的非标准WinMain而不是标准main的运行时库入口点(winMainCRTStartup)。所以,我尝试了通过以下命令

包含条目的帖子的建议
$ gcc zone_b.linux /entry:winMainCRTStartup
gcc: error: /entry:winMainCRTStartup: No such file or directory

但是我收到错误没有这样的文件或目录。我想也许是因为我在cygwin下运行而不是mingW。

第二篇文章是Undefined reference to WinMain in Cygwin。从帖子中,它说使用-c compile flag只生成目标文件。但是,对于我的情况,我没有使用任何-c。因此,我认为这与我的问题无关。

如果有人能够向我解释,因为我是这个计算领域的新手,我将不胜感激。谢谢。

0 个答案:

没有答案