【问题标题】:Compiling libcurl for mingw32 (Windows) on mac os x 10.6在 mac os x 10.6 上为 mingw32 (Windows) 编译 libcurl
【发布时间】: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”开头

标签: windows gcc curl mingw


【解决方案1】:

好像mingw 没有sys/socket.h。刚刚检查了我的新 mingw 本机安装。

因此,您的应用程序不能移植到 mingw(或配置运行错误)。也许你应该在邮件列表中搜索或询问http://curl.haxx.se

感谢您的配置输出。您确实为 MacOSX 本身配置了 curl,而不是为 mingw 交叉构建。你应该强制配置使用mingw的gcc,你也应该添加交叉编译选项(至少'--target'选项)。

【讨论】:

  • 它的卷发源 (tar.gz) 你能帮忙吗?我不知道该怎么办
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多