【发布时间】:2011-02-27 23:17:28
【问题描述】:
我正在为 mingw32 编译 libcurl,如下所示:
./configure --prefix=/Users/daniel/mingw32 "CFLAGS= -ABI=32"
make
make install
但是在使用mingw32-gcc编译程序时:
i386-mingw32-gcc -lcurl -o bin/remote-win.exe remote.c
我明白了:
In file included from /Users/daniel/mingw32/usr/local/include/curl/curl.h:34,
from remote.c:6:
/Users/daniel/mingw32/usr/local/include/curl/curlbuild.h:152:26: sys/socket.h: No such file or directory
In file included from /Users/daniel/mingw32/usr/local/include/curl/curl.h:34,
from remote.c:6:
/Users/daniel/mingw32/usr/local/include/curl/curlbuild.h:165: error: syntax error before "curl_socklen_t"
In file included from /Users/daniel/mingw32/usr/local/include/curl/curl.h:35,
from remote.c:6:
/Users/daniel/mingw32/usr/local/include/curl/curlrules.h:143: error: size of array `__curl_rule_01__' is negative
/Users/daniel/mingw32/usr/local/include/curl/curlrules.h:153: error: size of array `__curl_rule_02__' is negative
我很确定错误是因为 curl_socklen_t 在 Windows 上不存在。我试过 --target=--mingw32 但仍然没有成功。
请帮忙
配置结束:
curl 版本:7.21.4 主机设置: x86_64-apple-darwin10.6.0 安装 前缀:/Users/daniel/mingw32
编译器:gcc SSL 支持:
已启用 (OpenSSL) SSH 支持:
没有(--with-libssh2)zlib 支持:启用 krb4 支持:
否 (--with-krb4*) GSSAPI 支持:否(--with-gssapi)
SPNEGO 支持:无
(--with-spnego) TLS-SRP 支持:否 (--enable-tls-srp) 解析器:
默认(--enable-ares / --enable-threaded-resolver) ipv6 支持:启用 IDN 支持:
否 (--with-libidn) 构建 libcurl:共享=是,静态=是
内置手册:启用详细 错误:启用 (--disable-verbose)
SSPI 支持:无
(--enable-sspi) ca 证书捆绑包:否 ca 证书路径:不支持 LDAP:
已启用 (OpenLDAP) LDAPS 支持:
启用 RTSP 支持:启用
RTMP 支持:无
(--with-librtmp) 协议:
DICT 文件 FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP
【问题讨论】:
-
你的配置输出是什么?仅在最后,来自
"configure: Configured to build curl/libcurl: "行 -
@osgx 我还检查了 sys/socket.h...(缓存)是的,结束行在上面
-
@Daniel,你的配置是为 MacOS 完成的,而不是 mingw。 "--prefix" 只设置安装目录,但 configure 对您的 mingw 编译器和环境一无所知。更新了答案。
-
@osgx 好的,谢谢你的回答。我会尝试并告诉你它是否有效
-
Daniel,尝试使用“i386-pc-mingw32”作为目标并指定 CC 参数。配置输出中的编译器行必须以“编译器:i386-mingw32-gcc”开头