MinGW-w64
1.1、MinGW-w64简介

MinGW存在的问题:

  • MinGW只能编译为Win32程序,不能编译为Win64程序。
  • MinGW更新速度及其慢,不能很好的支持较新的Windows API

为了解决这些问题,一些人forkMinGW, 新项目被命名为MinGW-w64

MinGW-w64不仅能编译为Win64程序,也能编译为Win32程序。

MinGW-w64同样是跨平台软件,可以运行在WindowsGNU/LinuxmacOS中。

MinGW-w64官网:http://mingw-w64.org

1.2、通过包管理器安装MinGW-w64
操作系统包管理器安装命令
WindowsChocolateychoco install -y MinGW
macOSHomeBrewbrew install mingw-w64
GNU/LinuxLinuxBrewbrew install mingw-w64
aptsudo apt-get install -y *-w64-x86-*
CentOSyumsudo yum install -y mingw-w64-tools mingw32-binutils
dnfsudo dnf install -y mingw-w64-tools mingw32-binutils

Arch Linux

ArcoLinux

Manjaro Linux

pacmansudo pacman -Syyu --noconfirm
sudo pacman -S    --noconfirm mingw-w64-*
1.3、MinGW-w64中包含的工具

GNU/LinuxUNIX系统中,MinGW-w64提供的命令以${arch}-w64-mingw32-作为前缀,这是因为这些工具本身是从GCCGNU BinUtils等项目移植的, 如果不加前缀的话,会与这些软件的命令互相覆盖。

${arch}目前是i686x86_64

下面是macOS中提供的工具(其他系统类似):

这些命令的用法与GCCGNU BinUtils等项目中的命令的用法完全一样。

下面以x86_64-w64-mingw32-gcc命令演示用法:

1、编写一个C源文件hello.c,其内容如下:

#include <stdio.h>

int main() {
    printf("Hello fpliu");
    return 0;
}

2、使用x86_64-w64-mingw32-gcc命令编译:

x86_64-w64-mingw32-gcc -o hello.exe hello.c

3、使用file命令查看一下它的文件格式:

4、使用wine64命令执行它: