Ubuntu编译生成Windows的C程序
安装mingw-w64
$ sudo apt update #更新源
$ sudo apt install mingw-w64 #安装mingw-w64
编译
编一个简单的C语言程序,如:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
printf("你好,世界!\n");
system("pause");
return 0;
}
使用x86_64-w64-mingw32-gcc 编译,用法其实和gcc类似
$ x86_64-w64-mingw32-gcc 文件名.c -o 文件名.exe
此命令适用于64位的系统,-o是重命名已编译二进制文件的名称,默认名称为a.exe
如果要编译为32位系统的,则将使用如下所示的命令
$ i686-w64-mingw32-gcc 文件名.c -o 文件名.exe
如果你的代码中含有中文,编译出来的文件会出现乱码,这是因为Windows的中文编码和Ubuntu的不同,需要添加上-fexec-charset=GBK,举个例子
$ x86_64-w64-mingw32-gcc -fexec-charset=GBK 文件名.c -o 文件名.exe
嫌麻烦可以使用alias设定命令别名,如:
$ alias mingw='x86_64-w64-mingw32-gcc -fexec-charset=GBK'
把别名设置添加到.bashrc文件中就可以永久生效了