Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何编译C/C++;将程序转换为exe格式_C++_C_Windows_Macos_Compilation - Fatal编程技术网

C++ 如何编译C/C++;将程序转换为exe格式

C++ 如何编译C/C++;将程序转换为exe格式,c++,c,windows,macos,compilation,C++,C,Windows,Macos,Compilation,我使用的是mac OS X 10.8.4 64位。 我想在我的mac上构建一些C/C++程序,然后将它们展示给一些使用windows的人。 我可以使用 终端上的g++test.cpp-o test.exe 但在我的电脑上运行时,该exe文件会引发以下错误:“此文件的版本与您正在运行的Windows版本不兼容。请检查计算机的系统信息,查看您是否需要该程序的x86(32位)或x64(64位)版本。” 注意:我的电脑也是64位的,使用的是g++test.cpp-o test.exe,它不生成Windo

我使用的是mac OS X 10.8.4 64位。 我想在我的mac上构建一些C/C++程序,然后将它们展示给一些使用windows的人。 我可以使用

终端上的g++test.cpp-o test.exe

但在我的电脑上运行时,该exe文件会引发以下错误:“此文件的版本与您正在运行的Windows版本不兼容。请检查计算机的系统信息,查看您是否需要该程序的x86(32位)或x64(64位)版本。”
注意:我的电脑也是64位的,使用的是
g++test.cpp-o test.exe
,它不生成Windows exe可执行文件,它只生成一个Mac OS X可执行文件,该文件名上恰好有
.exe
扩展名。要生成Windows EXE可执行文件,您需要使用Windows编译器,例如Microsoft Visual Studio或cygwin上的gcc。

如果您在OS X上运行该命令,您所做的只是给文件名加上“.EXE”结尾。您需要为windows实际编译它,这需要您在OS X上设置交叉编译或在windows上设置编译器。最简单的方法可能是在VM上安装windows(使用VirtualBox或VMware Fusion或…)并获取其副本。好的,谢谢,但这是否意味着没有办法从mac创建C/C++可执行windows文件?是的,有。您将很乐意使用,例如,MinGW进行交叉编译。不,这是可能的,但这比您可能想了解的要复杂得多。它需要交叉编译(使用单独的构建和目标环境编译某些东西)。对于像嵌入式平台这样的复杂目标来说,这是比较常见的,但在MacOSX和Windows之间,这要么从未实现过,要么几乎从未实现过。至少我从未听说过有人这样做。没有听说过桌面交叉编译。实际上,它并不能让你不必拥有一台Windows机器(因为你需要测试),但它只允许你拥有一台构建机器。