首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Linux中编译C代码以在Windows上运行?

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

Stack Overflow用户
提问于 2017-06-21 08:02:59
回答 4查看 20K关注 0票数 11

我正在使用Linux/GNU GCC编译C源代码。有任何方法可以为运行在x86或x64架构上的Windows生成x86文件吗?编译后的代码需要在Linux机器上生成。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-06-21 08:25:48

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

明-W64是最初的mingw.org项目的一个进步,它的创建是为了支持Windows系统上的GCC编译器。

安装交叉编译

代码语言:javascript
运行
复制
sudo apt-get install mingw-w64

32位

代码语言:javascript
运行
复制
i686-w64-mingw32-gcc -o test.exe test.c

64位

代码语言:javascript
运行
复制
x86_64-w64-mingw32-gcc -o test.exe test.c
票数 22
EN

Stack Overflow用户

发布于 2017-06-21 08:07:06

这叫做交叉编译。但GCC并没有自己提供这种功能。您可以使用MinGW和/或MinGW-w64项目提供的工具集。MinGW允许您交叉编译到Win32平台,MinGW-w64允许您为Win32和Win64做同样的事情。他们都是以GCC为基础。

票数 1
EN

Stack Overflow用户

发布于 2017-06-21 08:10:07

您需要一个交叉编译器:一个针对另一个系统而不是运行在上面的编译器。

gcc目标窗口包含在mingw包中,也可以编译为在Linux上运行,而且许多mingw发行版已经有包含它的包,所以只需搜索包管理工具中的"mingw“即可。

按照惯例,交叉编译器的名称与它们的名称相加,因此用于编译windows可执行文件的gcc的变体可能会命名为类似于i686-w64-mingw32-gcc,但这可能因您的Linux发行版提供的包而异。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44670209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档