首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Linux下用gcc/g++编译Windows版?

如何在Linux下用gcc/g++编译Windows版?
EN

Stack Overflow用户
提问于 2010-01-10 00:27:30
回答 5查看 224.8K关注 0票数 143

我在Linux上用freeglut用C++ (g++)写了一些特效,我用

代码语言:javascript
复制
g++ -Wall -lglut part8.cpp -o part8

所以我想知道是否有可能让g++生成包含所有所需内容的静态编译的Windows可执行文件?

我没有Windows,所以如果我能在Linux上做到这一点,那就太酷了:)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-01-10 00:31:04

mingw32以Linux包的形式存在。你可以用它来交叉编译和-link Windows应用程序。有一个教程here at the Code::Blocks forum。请注意,例如,该命令将更改为x86_64-w64-mingw32-gcc-win32

例如,Ubuntu在其存储库中有MinGW:

代码语言:javascript
复制
$ apt-cache search mingw
[...]
g++-mingw-w64 - GNU C++ compiler for MinGW-w64
gcc-mingw-w64 - GNU C compiler for MinGW-w64
mingw-w64 - Development environment targeting 32- and 64-bit Windows
[...]
票数 117
EN

Stack Overflow用户

发布于 2013-07-19 15:31:00

在Linux中编译Windows的一种选择是通过mingw。我发现了一个非常有用的教程here

要在基于Debian的系统上安装mingw32,请运行以下命令:

sudo apt-get install mingw32

要编译您的代码,您可以使用如下代码:

i586-mingw32msvc-g++ -o myApp.exe myApp.cpp

有时,您可能希望直接在Linux中测试新的Windows应用程序。你可以使用葡萄酒来达到这个目的,尽管你应该始终记住葡萄酒可能会有虫子。这意味着您可能不确定是否存在于wine、您的程序或两者中的bug,因此仅使用wine进行一般测试。

要安装wine,请运行:

sudo apt-get install wine

票数 35
EN

Stack Overflow用户

发布于 2016-01-14 03:01:59

安装一个交叉编译器,比如包管理器中的mingw64。然后按照以下方式进行编译:对于32位的Windows,调用i686-w64-mingw32-gcc;对于64位的Windows,调用x86_64-w64-mingw32-gcc",而不是简单地调用gcc。我还会使用--static选项,因为目标系统可能没有所有的库。

如果您想编译其他语言,如Fortran,请在前面的命令中将-gcc替换为-gfortran

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

https://stackoverflow.com/questions/2033997

复制
相关文章

相似问题

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