我想编译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环境变量中并没有产生正面结果。
答案 0 :(得分:4)
您需要安装Cygwin gcc编译器。再次运行Cygwin的setup.exe,它既用于初始Cygwin安装,也用于后续更新和添加。单击进入包选择屏幕,从“Devel”类别中选择gcc4包,再次单击“下一步”开始安装。
您希望构建的程序可能依赖于某些库,在这种情况下,您需要再次通过setup.exe并安装相关的libSOME-devel软件包。