MinGW-w64至少从2010年12月开始就可以使用Cygwin了。然而,我很难用它来编译几乎任何东西。我已经用替代方案设置了符号链接
p=x86_64-w64-mingw32
alternatives \
--install /usr/bin/gcc.exe gcc /usr/bin/$p-gcc.exe 0 \
--slave /usr/bin/ar.exe ar /usr/bin/$p-ar.exe例如,如果我试图编译wget
./configure --without-ssl
make错误(为简洁而编辑)
connect.o:connect.c:(.text+0x3f): undefined reference to `__imp_htons'
connect.o:connect.c:(.text+0xbe7): undefined reference to `__imp_ntohs'
connect.o:connect.c:(.text+0xd96): undefined reference to `run_with_timeout'如果我用
gcc4-core)那么Wget将编译。
基于ak2的回答,这似乎是可行的
./configure --host=x86_64-w64-mingw32 --disable-ipv6 --without-ssl
make发布于 2013-03-01 01:35:18
ak2部分是不正确的,正如声明的这里。
正确的选项是--host=x86_64-w64-mingw32,正如您所发现的。--target用于构建交叉编译器本身。备选方案如下:
--build:你在建立什么?--host:你要为什么而建--target:如果您正在构建的是一个交叉编译器,那么跨编译器的目的是什么?发布于 2012-05-08 07:27:00
Cygwin的MinGW-w64编译器是一个交叉编译器,因为它托管在Cygwin上,但目标是MinGW-w64。您只需使用configure选项告诉--target,如下所示:
--target=x86_64-w64-mingw32这样,make将调用适当的工具。您还需要安装或构建要构建的包所依赖的任何库的MinGW-w64版本。
在MinGW-w64的/usr/bin点将替代系统中的工具弯曲到MinGW-W64上并不是一个好主意,因为那样的话,您将使用带有Cygwin和库的MinGW工具,这会导致像上面引用的那些错误。
https://stackoverflow.com/questions/10493297
复制相似问题