我在Linux上用freeglut用C++ (g++)写了一些特效,我用
g++ -Wall -lglut part8.cpp -o part8
所以我想知道是否有可能让g++生成包含所有所需内容的静态编译的Windows可执行文件?
我没有Windows,所以如果我能在Linux上做到这一点,那就太酷了:)
发布于 2010-01-10 00:31:04
mingw32以Linux包的形式存在。你可以用它来交叉编译和-link Windows应用程序。有一个教程here at the Code::Blocks forum。请注意,例如,该命令将更改为x86_64-w64-mingw32-gcc-win32
。
例如,Ubuntu在其存储库中有MinGW:
$ 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
[...]
发布于 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
发布于 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
。
https://stackoverflow.com/questions/2033997
复制相似问题