我是 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
我在stackoverflow下搜索了以下错误,我发现了两个类似问题的帖子。
首先是未定义引用的帖子 `WinMain@16'。它指出问题是由于微软的链接器使用了一个运行时库入口点(winMainCRTStartup),它调用了微软的非标准 WinMain 而不是标准的 main。所以,我尝试了帖子的建议,即通过以下命令包含条目
$ gcc zone_b.linux /entry:winMainCRTStartup
gcc: error: /entry:winMainCRTStartup: No such file or directory
但是我得到错误没有这样的文件或目录。我想可能是因为我在 cygwin 而不是 mingW 下运行。
第二篇文章是Cygwin 中对 WinMain 的未定义引用。从帖子中,它说使用 -c 编译标志只生成目标文件。但是,就我而言,我没有使用任何-c。因此,我认为这与我的问题无关。
如果有人能向我解释一下,我将不胜感激,因为我是这个计算领域的新手。谢谢你。