如何在Linux中编译C代码以在Windows上运行?

时间:2017-06-21 08:02:59

标签: c linux windows

我使用Linux / GNU GCC编译C源代码。有什么办法可以为在x86或x64架构上运行的Windows生成.exe个文件吗?编译的代码需要在Linux机器上生成。

4 个答案:

答案 0 :(得分:8)

您需要一个交叉编译器才能在Linux中创建Windows可执行文件。

Mingw-w64是原始mingw.org项目的进步,该项目旨在支持Windows系统上的GCC编译器。

安装交叉编译

sudo apt-get install mingw-w64

32位

i686-w64-mingw32-gcc -o test.exe test.c

64

x86_64-w64-mingw32-gcc -o test.exe test.c

答案 1 :(得分:1)

它被称为交叉编译。但是GCC并没有自己提供这种功能。您可以使用MinGW和/或MinGW-w64项目提供的工具集。 MinGW允许您跨编译到Win32平台,MinGW-W64允许您对Win32和Win64执行相同的操作。 它们都是基于海湾合作委员会。

答案 2 :(得分:1)

你需要一个交叉编译器:一个针对另一个系统而不是它运行的编译器。

gcc目标窗口位于mingw包中,也可以编译为在Linux上运行,许多Linux发行版已经有包含它的包,所以只需搜索您的包管理工具&# 34; mingw的"

交叉编译器按照惯例将其目标系统的名称添加到其名称之前,因此用于编译Windows可执行文件的gcc变体可能会被命名为i686-w64-mingw32-gcc,但这可能因在Linux发行版提供的软件包上。

答案 3 :(得分:0)

您需要使用交叉编译器来编译不同的操作系统。最受欢迎的是mingw