使用mingw-w64和./configure--host=i686-w64-mingw32.static时,make失败,Makefile CC变量看起来错误
我是个新手 我正在尝试为Windows10编译iperf3,因为没有iperf3的官方Windows发行版和学习体验版。我试图通过Windows上Ubuntu上的Bash在新的Windows Linux子系统功能上这样做,也是为了学习体验 我安装了mingw-w64,这将为我提供交叉编译所需的适当编译器和环境:使用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 它还将一
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。请参见编辑。希望你能给我进一步的建议,或者不?这看起来真像纳诺睡眠。也许不是?这看起来真像纳诺睡眠。