4

无论我尝试在 Cygwin 中编译什么,我都会得到以下输出:

检查mingw32环境...否
检查 EMX OS/2 环境...否
检查如何运行 C 预处理器... gcc -E
检查 gcc ... gcc
检查 C 编译器 (gcc) 是否工作...否
配置:错误:安装或配置问题:C编译器无法创建
e 可执行文件。

日志文件的最后几行如下所示:

配置:2810:检查 EMX OS/2 环境
配置:2822:gcc -c conftest.c 1>&5
配置:在函数“主”中:
配置:2818:错误:`__EMX__' 未声明(在此函数中首次使用)
配置:2818:错误:(每个未声明的标识符只报告一次
配置:2818:错误:对于它出现的每个函数。)
配置:失败的程序是:
#line 2815 “配置”
#include "confdefs.h"

int main() {
返回 __EMX__;
; 返回0;}
配置:2838:检查如何运行 C 预处理器
配置:2859:gcc -E conftest.c >/dev/null 2>conftest.out
配置:2943:检查 gcc
configure:3056: 检查 C 编译器 (gcc) 是否工作
配置:3072:gcc -o conftest conftest.c -llib 1>&5
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld:找不到
 -llib
collect2: ld 返回 1 个退出状态
配置:失败的程序是:

#line 3067 “配置”
#include "confdefs.h"

主要(){返回(0);}

这是一个全新的 Cygwin 安装,带有 G++ 和许多其他开发工具。知道我需要做什么才能让这件事正常工作吗?

更新 0:尼克,您已经尝试了指向http://www.geektimes.com/linux/troubleshooting/c-cant-create-executables.html的链接- 不幸的是,此说明适用于 redhat,似乎不适用于 cygwin。

4

3 回答 3

3

您的配置错误。通常autoreconf -f会有所帮助。如果不是,您需要检查失败的规则并修复它。

于 2011-05-29T20:13:44.833 回答
2

'-llib' 对我来说似乎有点不寻常,但我远非专家。只是出于好奇,是否安装了 autoconf?在我安装 autoconf 之前,我遇到了一些类似的问题。似乎配置脚本错误地生成了“-llib”值,但仅根据发布的片段很难说出原因。

于 2009-01-20T15:27:02.757 回答
1

当我遇到这个问题时,这是由 Cygwin 寻找“library.o”而不是“library.obj”或“library.so”而不是“library.dll”引起的链接错误。

于 2009-01-21T00:53:55.157 回答