開源不乏神人,於是有了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下運行試試,雙擊即可。