如何在MacBook上为Compose Multiplatform项目生成Windows EXE文件?
在MacBook上为Compose Multiplatform项目构建Windows可执行文件(.exe)
可以在MacBook上构建Windows可执行文件,但默认情况下Gradle只会生成当前主机系统(macOS)的分发包,需要额外配置工具链并执行针对性的构建任务。
步骤1:安装Windows交叉编译工具链
根据你的Mac芯片类型,通过Homebrew安装对应工具链:
- Intel Mac:
brew install mingw-w64 - Apple Silicon Mac:
brew install mingw-w64
(Homebrew已适配Apple Silicon,安装的工具链支持交叉编译Windows Arm64/X64程序)
步骤2:确认Gradle配置
你的build.gradle.kts已经正确指定了TargetFormat.Exe,可以补充Windows架构适配配置,确保生成对应架构的可执行文件:
compose.desktop { application { mainClass = "MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Deb, TargetFormat.Exe) packageName = "HelloComposeMultiplatform" packageVersion = "1.0.0" windows { packageVersion = "1.0.0" msiPackageVersion = "1.0.0" exePackageVersion = "1.0.0" // 根据当前Mac芯片指定Windows目标架构 targetArch(if (System.getProperty("os.arch") == "aarch64") { WindowsArch.Arm64 } else { WindowsArch.X64 }) } } } }
步骤3:执行针对性的Gradle构建任务
不要使用默认的./gradlew :createDistributable(仅构建当前系统包),执行以下任务之一:
- 仅构建Windows exe文件:
./gradlew :packageWindowsExe - 构建Windows exe和msi安装包:
./gradlew :packageWindowsMsi - 一次性构建所有指定格式的分发包(macOS、Linux、Windows):
./gradlew :package
生成文件位置
构建完成后,Windows可执行文件会存放在项目目录的build/compose/binaries/main/windows/路径下。
注意事项
- 确保网络通畅,Gradle会自动下载Windows平台所需的JRE运行时等依赖
- Apple Silicon Mac上生成的Windows Arm64包仅支持Windows on Arm设备,X64包可在普通Windows设备通过兼容层运行
内容的提问来源于stack exchange,提问作者David I. Lipkind
相关产品推荐
相关产品推荐

