无论我尝试在Cygwin中编译什么,我都得到以下输出:
checking for mingw32 environment... no checking for EMX OS/2 environment... no checking how to run the C preprocessor... gcc -E checking for gcc... gcc checking whether the C compiler (gcc ) works... no configure: error: installation or configuration problem: C compiler cannot creat e executables.
日志文件的最后几行如下所示:
configure:2810: checking for EMX OS/2 environment configure:2822: gcc -c conftest.c 1>&5 configure: In function `main': configure:2818: error: `__EMX__' undeclared (first use in this function) configure:2818: error: (Each undeclared identifier is reported only once configure:2818: error: for each function it appears in.) configure: failed program was: #line 2815 "configure" #include "confdefs.h" int main() { return __EMX__; ; return 0; } configure:2838: checking how to run the C preprocessor configure:2859: gcc -E conftest.c >/dev/null 2>conftest.out configure:2943: checking for gcc configure:3056: checking whether the C compiler (gcc ) works configure:3072: gcc -o conftest conftest.c -llib 1>&5 /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -llib collect2: ld returned 1 exit status configure: failed program was: #line 3067 "configure" #include "confdefs.h" main(){return(0);}
这是一个新的Cygwin安装,带有G ++和一些其他的devtools。知道我需要做些什么才能使这个东西工作?
更新0:Nick,您已经尝试了http://www.geektimes.com/linux/troubleshooting/c-cant-create-executables.html的链接 - 很遗憾,这些说明适用于redhat,似乎不适用于cygwin。
答案 0 :(得分:3)
您的配置错误。
通常autoreconf -f
有帮助。如果不是,您需要检查失败的规则并进行修复。
答案 1 :(得分:2)
'-llib'对我来说似乎有点不寻常,但我远非专家。只是出于好奇而安装了autoconf?在安装autoconf之前,我遇到了类似的问题。似乎配置脚本错误地生成了'-llib'值,但很难说基于所发布的片段的原因。
答案 2 :(得分:1)
当我遇到此问题时,由于Cygwin正在寻找“library.o”而不是“library.obj”或“library.so”而不是“library.dll”而导致链接错误。