Mac端能否通过Xcode或Visual Studio Code 2019将C++编译为Windows exe文件
Mac端使用Xcode/VS Code编译C++为Windows exe的可行性说明
默认状态下Xcode和Mac版Visual Studio Code都无法直接编译生成Windows平台的exe可执行文件,二者默认调用的Mac原生编译工具链(Clang/GCC)生成的是适配macOS的Mach-O格式可执行文件,和exe所属的Windows PE格式不兼容。
如果你不想启动旧Windows设备或者运行虚拟机,可以通过配置交叉编译工具链实现需求,具体操作如下:
交叉编译方案(无需启动Windows环境)
- 首先在Mac上安装MinGW-w64交叉编译工具链,可以通过Homebrew执行
brew install mingw-w64完成安装 - VS Code配置流程:
- 安装C/C扩展后,打开C项目的
.vscode/tasks.json配置文件 - 将编译器路径修改为安装好的MinGW对应版本路径,64位编译对应
x86_64-w64-mingw32-g++,32位编译对应i686-w64-mingw32-g++ - 保存配置后正常执行编译任务,即可生成对应Windows平台的exe文件
- 安装C/C扩展后,打开C项目的
- Xcode配置流程:
- 打开Xcode项目,进入Build Settings界面
- 自定义编译规则,将默认使用的Clang编译器替换为MinGW对应版本的编译器
- 同步修改链接参数适配Windows PE格式,调整完成后编译即可生成exe文件,整体配置比VS Code繁琐很多,更推荐用VS Code完成交叉编译
注意:交叉编译如果用到第三方依赖库,需要提前下载对应Windows平台的库版本参与编译链接,否则生成的exe在Windows上运行可能会出现依赖缺失报错。
其他可选方案
如果不想花时间配置交叉编译环境,可以选择你提到的原有方案:
- 启动旧Windows笔记本,在原生Windows环境下完成编译
- 在Mac上安装Windows虚拟机,在虚拟机内配置编译环境完成编译,只要Mac硬件性能够,日常使用不会有明显卡顿
内容的提问来源于stack exchange,提问作者SlothGamer
相关产品推荐
相关产品推荐

