在Linux下交叉编译生成windows程序
在Ubuntu环境下,利用mingw32,交叉编译windows程序,以便在windows下运行。
·
Linux环境使用Ubuntu,原理是利用mingw32,交叉编译windows程序,以便在windows下运行。
具体步骤如下:
一、安装mingw32
1、修改 sources.list
sudo vim /etc/apt/sources.list
在文件底部新加一行:
deb http://us.archive.ubuntu.com/ubuntu trusty main universe
2、更新软件包
sudo apt update
3、安装mingw32
sudo apt-get install mingw32
4、验证安装结果
我这边安装完是i586-mingw32msvc-gcc
,有的人装完是i486-mingw32-gcc
,不知道装完是什么编译器的,可以用find命令搜索mingw32
关键字看下,也可以直接直接输入i
再tab
一下,不过结果会比较多。
i586-mingw32msvc-gcc -v
使用内建 specs。
目标:i586-mingw32msvc
配置为:/build/buildd/mingw32-4.2.1.dfsg/build_dir/src/gcc-4.2.1-2-dfsg/configure -v --prefix=/usr --target=i586-mingw32msvc --enable-languages=c,c++ --enable-threads --enable-sjlj-exceptions --disable-multilib --enable-version-specific-runtime-libs
线程模型:win32
gcc version 4.2.1-sjlj (mingw32-2)
安装成功
二、编译windows程序
新建代码test.c:
#include <stdio.h>
int main()
{
printf("windows application\n");
// 以_WIN32宏判断,以便Linux下也可以编译通过
#ifdef _WIN32
system("pause");
#endif
return 0;
}
编译:
i586-mingw32msvc-gcc test.c
即会生成windows下可运行的a.exe程序。
更多推荐
已为社区贡献1条内容
所有评论(0)