使用mingw-w64和./configure--host=i686-w64-mingw32.static时,make失败,Makefile CC变量看起来错误

使用mingw-w64和./configure--host=i686-w64-mingw32.static时,make失败,Makefile CC变量看起来错误,makefile,configure,mingw-w64,windows-subsystem-for-linux,Makefile,Configure,Mingw W64,Windows Subsystem For Linux,我是个新手 我正在尝试为Windows10编译iperf3,因为没有iperf3的官方Windows发行版和学习体验版。我试图通过Windows上Ubuntu上的Bash在新的Windows Linux子系统功能上这样做,也是为了学习体验 我安装了mingw-w64,这将为我提供交叉编译所需的适当编译器和环境: sudo apt get install mingw-w64 这会将两个目录放入我的/usr目录中: i686-w64-mingw32 x86\u 64-w64-mingw32 它还将一

我是个新手

我正在尝试为Windows10编译iperf3,因为没有iperf3的官方Windows发行版和学习体验版。我试图通过Windows上Ubuntu上的Bash在新的Windows Linux子系统功能上这样做,也是为了学习体验

我安装了mingw-w64,这将为我提供交叉编译所需的适当编译器和环境:
sudo apt get install mingw-w64

这会将两个目录放入我的
/usr
目录中:
i686-w64-mingw32
x86\u 64-w64-mingw32

它还将一些看起来像编译器的东西放入
/usr/bin

我从iperf3解压了
.tar.gz
文件,并导航到它。然后,我运行
/configure--host=i686-w64-mingw32.static
,它会在没有错误的情况下完成

我注意到命令的输出有一行令人担忧的内容:
检查i686-w64-mingw32.static gcc。。。否

我注意到
Makefile
CC
变量被设置为
gcc
,这听起来不像是正确的编译器

然后,我运行
make
。它失败并出现错误:

collect2: error: ld returned 1 exit status
make[2]: *** [iperf3] Error 1
make[2]: Leaving directory `/home/snip/iperf3/iperf-3.1.4/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/snip/iperf3/iperf-3.1.4/src'
make: *** [all-recursive] Error 1
我还看到一行:
libtool:warning:i686-w64-mingw32.static共享库中不允许使用未定义的符号;仅限静态建筑

我认为
/configure
工作不正常,因为它似乎没有为我的
--host
参数找到正确的编译器,并将其放入
生成文件中

我做错了什么

编辑: 我根据注释将命令更改为
/configure--host=i686-w64-mingw32
,它完成时没有错误。但是没有创建makefile,因此
make
生成
make:**没有指定目标,也没有找到makefile。停止。

我现在做错了什么

编辑2: 看起来
/configure
实际上失败了。其输出的最后一行是计时操作所需的
nanosleep()。
,这似乎意味着它缺少nanosleep库


如何获得nanosleep?

mingw
不支持nanosleep。因此,使用它的程序不能使用
mingw-w64

mingw
不支持nanosleep来编译。因此,使用它的程序不能使用
mingw-w64

进行编译,它应该是
--host=i686-w64-mingw32
@StevenPenny,感谢您的输入。我已经这样做了,没有创建Makefile。请参见编辑。希望得到进一步的建议。应该是
--host=i686-w64-mingw32
@stevenny,谢谢您的输入。我已经这样做了,没有创建Makefile。请参见编辑。希望你能给我进一步的建议,或者不?这看起来真像纳诺睡眠。也许不是?这看起来真像纳诺睡眠。