如何使用Cygwin编译Corkscrew

时间:2012-02-29 10:41:26

标签: compilation cygwin mingw

我想编译Corkscrew。但是我对Unix环境不是很熟悉 以下是我尝试过的事情以及失败的原因
第1步:我安装了Cygwin并从Cygwin终端(mintty.exe),我尝试按照README文件中的说明调用Corkscrew源目录中的./configure。 此操作产生以下错误消息:

checking whether the C compiler (gcc  ) works... no

进一步调查后,在Cygwin Terminal输入gcc:

-bash: gcc: command not found


第2步:我因此下载了Mingw32。现在我的电脑上有这个文件

C:\MinGW\bin\mingw32-gcc

我希望Cygwin能够将此文件用作gcc版本
第3步:我在Cygwin下创建了一个链接(灵感来自另一个this article,其中为make做了类似的操作)。

cd /bin
ln -s /cygdrive/c/mingw/bin/mingw32-gcc.exe gcc.exe

但是./configure指令仍会产生相同的错误。 config.log告诉我:

configure:912: gcc -o conftest    conftest.c  1>&5
configure: failed program was:

#line 907 "configure"
#include "confdefs.h"

main(){return(0);}


第4步:我暂时放弃尝试使用Cygwin终端并切换到MinGW Shell。这次./configure命令似乎成功了!

步骤5:在MinGW Shell中,我输入make命令。它返回以下错误消息:

gcc -DHAVE_CONFIG_H -I. -I. -I. -I.    -g -O2 -c corkscrew.c
corkscrew.c:2:23: fatal error: arpa/inet.h: No such file or directory
compilation terminated.
make: *** [corkscrew.o] Error 1

经过几次搜索后,我在这个stackoverflow question中找到了更多信息,第一个答案建议“选择Cygwin,它在Windows上提供POSIX兼容包装。”

因此,我似乎必须坚持使用Cygwin。因此我的问题是:我如何让Cygwin编译这个程序?

注意:我想我需要将Cygwin访问MinGW32中包含的所有程序,但是将“C:\ MinGW \ bin \ mingw32-gcc”字符串添加到我的计算机的PATH环境变量中并没有产生正面结果。

1 个答案:

答案 0 :(得分:4)

您需要安装Cygwin gcc编译器。再次运行Cygwin的setup.exe,它既用于初始Cygwin安装,也用于后续更新和添加。单击进入包选择屏幕,从“Devel”类别中选择gcc4包,再次单击“下一步”开始安装。

您希望构建的程序可能依赖于某些库,在这种情况下,您需要再次通过setup.exe并安装相关的libSOME-devel软件包。

相关问题