在mac os x 10.6上为mingw32(Windows)编译libcurl

时间:2011-02-27 23:17:28

标签: windows gcc curl mingw

我正在为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。我试过--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:Shared = yes,Static = yes
  内置手册:启用详细   错误:启用(--disable-verbose)
  SSPI支持:没有   (--enable-sspi)ca cert bundle:no   ca证书路径:没有LDAP支持:
  启用(OpenLDAP)LDAPS支持:
  启用RTSP支持:启用
  RTMP支持:没有   (--with-librtmp)协议:
  DICT FILE FTP FTPS GOPHER HTTP HTTPS   IMAP IMAPS LDAP LDAPS POP3 POP3S RTSP   SMTP SMTPS TELNET TFTP

1 个答案:

答案 0 :(得分:0)

似乎mingw没有sys/socket.h。刚刚检查了我的新mingw原生安装。

因此,您的应用程序无法移植到mingw(或配置运行错误)。您可以在http://curl.haxx.se

在邮件列表中搜索或询问

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