我已经在Linux上使用freeglut在C ++(g ++)中编写了一些效果,并使用
g++ -Wall -lglut part8.cpp -o part8
所以我想知道是否可以让g ++制作包含所需一切的静态Windows可执行文件?
我没有Windows,所以如果我可以在Linux上这样做,那真的很酷:)
我已经在Linux上使用freeglut在C ++(g ++)中编写了一些效果,并使用
g++ -Wall -lglut part8.cpp -o part8
所以我想知道是否可以让g ++制作包含所需一切的静态Windows可执行文件?
我没有Windows,所以如果我可以在Linux上这样做,那真的很酷:)
Answers:
mingw32作为Linux软件包存在。您可以交叉编译Windows应用程序并将其链接。在Code :: Blocks论坛上有一个教程。请注意,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
[...]
在Linux中为Windows进行编译的一种选择是通过mingw。我在这里找到了非常有用的教程。
要在基于Debian的系统上安装mingw32,请运行以下命令:
sudo apt-get install mingw32
要编译代码,可以使用类似以下内容的代码:
i586-mingw32msvc-g++ -o myApp.exe myApp.cpp
有时,您有时需要直接在Linux中测试新的Windows应用程序。您可以为此使用酒,尽管您应始终牢记酒可能有虫子。这意味着您可能不确定酒中是否存在错误,程序是否存在错误或两者均存在,因此只能将酒用于常规测试。
要安装wine,请运行:
sudo apt-get install wine
mingw32-binutils
,mingw32-runtime
因为它们是mingw32
void main(){}
等),我猜它在Windows上编译但在mingw上失败,我修复了它们。我也尝试了一下i586-mingw32msvc-cpp
,它生成了一个文本文件,其中包含一些需要编译的东西.. g ++起作用了,谢谢!
mingw32
(标记为“依赖项”。我确实指定了它们,但不会(标记为“手动”)。
建议的方法在Ubuntu 16.04上给我错误: E:无法找到包mingw32
================================================== ========================
要在Ubuntu上安装此软件包,请使用以下命令:
sudo apt-get install mingw-w64
安装后,您可以使用它:
x86_64-w64-mingw32-g++
请注意!
对于64位使用: x86_64-w64-mingw32-g ++
对于32位使用: i686-w64-mingw32-g ++
从包管理器中安装交叉编译器,例如mingw64。然后按以下方式进行编译:而不是简单地为32位Windows或64位Windows 调用gcc
call 。我还将使用该选项,因为目标系统可能没有所有的库。i686-w64-mingw32-gcc
x86_64-w64-mingw32-gcc"
--static
如果要编译其他语言,例如Fortran,请在前面的命令中替换-gcc
为-gfortran
。
我已经在Linux上使用mingw在C中制作Windows可执行文件,我怀疑C ++也可以工作。
我有一个项目ELLCC,该项目将clang和其他内容打包为交叉编译器工具链。我用它来编译clang(C ++),binutils和Windows的GDB。单击ellcc.org上的下载链接,以获取针对多个Linux主机的预编译二进制文件。
来自:https : //fedoraproject.org/wiki/MinGW/Tutorial
从Fedora 17开始,可以为win32和win64目标轻松构建(交叉编译)二进制文件。这是使用mingw-w64工具链实现的:http ://mingw-w64.sf.net/ 。使用此工具链,您可以为以下编程语言生成二进制文件:C,C ++,Objective-C,Objective-C ++和Fortran。
“使用Windows交叉编译器的提示和技巧”:https : //fedoraproject.org/wiki/MinGW/Tips
对于Fedora
sudo yum groupinstall -y "MinGW cross-compiler"