在Linux下交叉编译生成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关键字看下,也可以直接直接输入itab一下,不过结果会比较多。

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 

int main()
{
	printf("windows application\n");

    // 以_WIN32宏判断,以便Linux下也可以编译通过
	#ifdef _WIN32
    system("pause");
    #endif

	return 0;
}

编译:

i586-mingw32msvc-gcc test.c

即会生成windows下可运行的a.exe程序。

你可能感兴趣的:(windows,工具技巧,linux,windows,交叉编译,Linux编译windows)