交叉编译器

开源不乏神人,于是有了MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils一直到Win32平台下,包含一系列头文件、库和可执行文件。另有mingw64,可产生64位Windows可执行文件的GNU交叉编译器。然后很多开发者不习惯Windows下的开发环境,还是坚持Linux,就有了Linux平台的交叉编译器,MinGW-w64。

x86_64-w64-mingw32-XXX

i686-w64-mingw32-XXX

下面以Fedora为例简单介绍下

安装交叉编译器

mingw32-gcc.x86_64 : MinGW Windows cross-compiler (GCC) for C for the win32 target

# yum install mingw32-gcc

当然可以安装对应的运行目标平台为64位的交叉编译器

东西放在/usr/i686-w64-mingw32/

/usr/lib64/ccache/里面有一堆软连接指向/usr/bin/ccache,这个玩意类似busybox

然后随便写个hello world程序test.c

$ i686-w64-mingw32-gcc test.c

$ file a.exe

 a.exe: PE32 executable (console) Intel 80386, for MS Windows

#include <stdio.h>

int main()
{
int i;
printf("hello world!\n");
scanf("%d", &i);
return 0;
}

然后拿到Windows下运行试试,双击即可。

代码交流 2021