我正在尝试在 cygwin 上编译一个非常旧的 slapd(LDAP 服务器)版本。以前它在 Linux 机器上运行,但由于我无法控制的原因,它必须在 Windows 服务器上运行。有人建议我们可以使用 cygwin 来编译源代码。
不幸的是,在“配置”期间构建失败并显示错误消息:
检查如何运行 C 预处理器... cc -E 检查 gcc...(缓存)cc 检查 C 编译器 (cc ) 是否工作...否 配置:错误:安装或配置问题:C编译器无法创建 e 可执行文件。
config.log 的最后几行是:
配置:失败的程序是: #line 2822 “配置” #include "confdefs.h" int main() { 返回 __EMX__; ; 返回0;} 配置:2845:检查如何运行 C 预处理器 配置:2866:cc -E conftest.c >/dev/null 2>conftest.out 配置:2950:检查 gcc configure:3063: 检查 C 编译器 (cc ) 是否工作 配置:3079:cc -o conftest conftest.c 1>&5 /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld:找不到 -luser32 collect2: ld 返回 1 个退出状态 配置:失败的程序是: #line 3074 “配置” #include "confdefs.h" 主要(){返回(0);}
更新:这是一台 win32 计算机 - cygwin 不包含一个名为 user32 的共享对象,但 Windows XP 确实包含一个名为 user32.dll 的对象 - 知道这是否是链接器正在寻找的对象吗?
UPDATE2: w32api 已经安装,(3.13-1) - 我注意到有一个 user32.lib 作为 visual-stuido 2003 .Net 的一部分 - 有没有办法让 Cygwin 中的 GCC 使用它?