如何使用 GCC 和 Linux 子系统为 Windows 编译可执行文件?

2024-03-21

Windows 10 周年更新包括适用于 Ubuntu 的 Linux 子系统。我安装了 gccsudo apt-get install gcc.

我写了一些简单的 C 代码用于测试目的:

#include <stdio.h>
int main(void){
    printf("Hello\n");
    return 0;
}

并编译它gcc -c main.c但执行(仅限Linux)main.o被生成。如果我运行它./main.o,它显示Hello.

我的问题是,我该如何编译main.c这样Windows就可以运行了吗?基本上,你如何生成一个*.exeLinux 子系统中的 GCC 文件?


Linux 子系统作为 Linux 计算机运行。默认情况下,您只能在其中运行 Linux 可执行文件gcc创建 Linux 可执行文件。

要创建 Windows 可执行文件,需要安装 mingw 交叉编译器:

sudo apt-get install mingw-w64

然后您可以使用以下命令创建 32 位 Windows 可执行文件:

i686-w64-mingw32-gcc -o main32.exe main.c

64 位 Windows 可执行文件:

x86_64-w64-mingw32-gcc -o main64.exe main.c

请注意,这些 Windows 可执行文件不能在 Linux 子系统内部运行,只能在其外部运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 GCC 和 Linux 子系统为 Windows 编译可执行文件? 的相关文章

随机推荐