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