在哪里可以找到并安装 centos-7 的 mingw-w64 软件包?

在哪里可以找到并安装 centos-7 的 mingw-w64 软件包?

尝试在centos7上进行交叉编译。 (我在那个环境中运行了 jenkins。)网络上有很多过时的 mingw 文档。显然已经有了答案这里但已经消失了。讨论交叉编译步骤这里。我可以做一个sudo yum groupinstall -y 软件包名称,但我尝试的任何东西都不起作用(MinGW-64 mingw-64 mingw64、MinGW64 或 MinGW 交叉编译器),正如我在各种帖子和论坛中看到的那样。我也尝试下载源代码,但没有成功,因为缺少各种先决条件,当我尝试获取它们时,它们不存在或版本错误。

答案1

随着已安装 EPEL 存储库你可以安装mingw-w64

yum install mingw64-gcc

答案2

最后找到了一个可以工作的已编译的二进制文件(足以满足我的目的)。这是 Linux 的 64 位二进制文​​件(预构建的,只是 DL,解压它并将 tar 上传到盒子中)。您需要创建一个 /opt/mingw64 目录并解压该目录中的文件 (sudo tar -xvf ~/mingw-w64-bin_x86_64-linux_20131228.tar)。 https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/ http://www.blogcompiler.com/2010/07/11/compile-for-windows-on-linux/

编译器将是 /opt/mingw64/bin/x86_64-w64-mingw32-gcc 而不仅仅是 gcc。这样做的原因是,即使 PATH 环境中有多个编译器,我们也应该能够选择正确的 gcc。

答案3

如果您正在寻找 mingw64-binutils 来支持链接 EFI 二进制文件,还有另一种更简单的方法。

2016 年 9 月,Fedora 在 binutils 中修补了发行版 gnu 加载器以支持 i386pep,这是 EFI 链接所需的。所以我所做的就是获取该源代码,提取补丁,并将其应用到您想要在 C7 中使用的最新 binutils。如果您需要更多帮助,我已经多次这样做了。我还有一个以这种方式修补的 binutils 工作二进制包。构建既简单又快速,甚至更容易测试。

这是您在 C8 上看到的内容:

 ld -V
GNU ld version 2.30-79.el8
  Supported emulations:
   elf_x86_64
   elf32_x86_64
   elf_i386
   elf_iamcu
   i386linux
   elf_l1om
   elf_k1om
   i386pep   <--- EFI support

相关内容