【免费下载链接】moonlight-qt
GameStream client for PCs (Windows, Mac, Linux, and Steam Link)
Moonlight V+ for PC 是 moonlight-qt 的增强版桌面串流客户端,支持 H.264 / HEVC / AV1 硬件解码、双向剪贴板、高品质麦克风与高码率局域网串流。这篇文章带你从零完成 Moonlight V+ for PC 的源码构建:覆盖 Windows、macOS、Linux、Steam Link 四平台的完整构建矩阵,从环境准备到打包发布产物,一步步讲清楚。
为什么从源码构建
如果你只是日常使用,直接下载官方 release 包即可。但以下场景值得动手编译:
- Intel Mac 用户:官方只提供 Apple Silicon(arm64)的 DMG,Intel 机型需要自行编译
- 想在构建中加入自定义修改或调试本地问题
- 熟悉 Moonlight 客户端的跨平台工程结构
开始前的通用准备:获取仓库与子模块
四平台共享同一条起步路径,先克隆仓库并初始化子模块(moonlight-common-c、qmdnsengine等核心依赖都在子模块里):
git clone https://gitcode.com/gh_mirrors/moo/moonlight-qt cd moonlight-qt git submodule update --init --recursive仓库入口工程是根目录的 moonlight-qt.pro,所有平台的构建脚本都基于它配置项目。整体架构可以参阅 docs/architecture.md。
💡 Windows 和 macOS 构建前还需要拉取预编译二进制依赖:Windows 运行
.\setup-deps.ps1(下载 x64 / ARM64 两套依赖包解压到libs/windows),macOS 运行python3 setup-deps.py(见 setup-deps.py 与 setup-deps.ps1)。
Windows 构建:一键脚本 + MSVC 工具链
环境要求
| 工具 | 版本建议 |
|---|---|
| Qt 6 SDK | 6.12.0(与 CI 保持一致最稳) |
| Visual Studio | 2022(MSVC 工具链) |
| 7-Zip | 生成安装包时需要 |
构建步骤
.\setup-deps.ps1 scripts\build-arch.bat release x64 scripts\generate-bundle.bat release两条脚本分别负责交叉编译和打包安装程序(详见 scripts/build-arch.bat、scripts/generate-bundle.bat)。
需要带签名的正式发布构建时,先设置环境变量SIGNTOOL_PARAMS(仅 signtool 参数)和ML_SYMBOL_STORE(符号存储目录),再运行signed-release模式:
scripts\build-arch.bat signed-release x64 scripts\build-arch.bat signed-release arm64 scripts\generate-bundle.bat signed-releasemacOS 构建:qmake + make + DMG 打包
环境要求:Qt 6(建议 6.11.x 附近)、Xcode 14 或更新、生成 DMG 需要create-dmg工具。
构建步骤
python3 setup-deps.py qmake6 moonlight-qt.pro make release scripts/generate-dmg.shscripts/generate-dmg.sh 内部会做几件额外的事:按当前架构(arm64/x86_64)配置编译、启用 LTO 优化、生成 dSYM 符号文件,还会用 CMake 独立构建 usb-helper/ USB 转发辅助程序。产物是形如Moonlight-VPlus-<版本>-arm64.dmg的安装镜像。
Linux 构建:系统库依赖 + AppImage
环境要求:Qt 6(Qt 5.12 起兼容)、GCC 或 Clang、FFmpeg 4.0+;启用 Vulkan 渲染器需要libplacebo≥ v7.349.0。
Debian / Ubuntu 一键装依赖
sudo apt install libegl1-mesa-dev libgl1-mesa-dev libopus-dev libsdl2-dev \ libsdl2-ttf-dev libssl-dev libavcodec-dev libavformat-dev libswscale-dev \ libva-dev libvdpau-dev libxkbcommon-dev wayland-protocols libdrm-dev \ qt6-base-dev qt6-declarative-dev libqt6svg6-dev qt6-wayland开发构建
qmake6 moonlight-qt.pro make debug想要发布级 AppImage 产物,可以使用 scripts/build-appimage.sh。官方 AppImage 提供 x86_64 和 aarch64 两份,注意 glibc 版本下限(x86_64 构建于 Ubuntu 22.04,glibc ≥ 2.35)。
Steam Link 构建:SDK 环境变量 + 一键脚本
Steam Link 走独立工作流,核心只有三步:
# 1. 克隆 Steam Link SDK 并设置环境变量 export STEAMLINK_SDK_PATH=/path/to/steamlink-sdk # 2. 一键构建(自动下载依赖、编译、打包) scripts/build-steamlink-app.shscripts/build-steamlink-app.sh 会初始化 SDK 环境、用CONFIG+=config_SL配置项目、复制 app/deploy/steamlink/ 下的元数据并压缩成发布 zip。注意 Steam Link 硬件上限:最大 1080p / 60 FPS / 40 Mbps,不支持 HDR。
四平台构建矩阵速查表
| 平台 | 关键工具链 | 一键入口 | 产物形态 |
|---|---|---|---|
| Windows | Qt 6.12 + VS 2022 + MSVC | scripts\build-arch.bat | 安装包 / 便携版 |
| macOS | Qt 6.11 + Xcode + create-dmg | scripts/generate-dmg.sh | .dmg |
| Linux | Qt 6 + FFmpeg + SDL2 | scripts/build-appimage.sh | .AppImage |
| Steam Link | STEAMLINK_SDK_PATH + qmake | scripts/build-steamlink-app.sh | 应用 zip |
构建完成后的验证与常见问题
验证产物:运行构建出的客户端,进入设置页确认版本号来自 scripts/derive-version.py 基于 Git tag 的派生逻辑;连接 Sunshine 主机发起一次串流,确认 H.264 / HEVC 解码正常。
高频问题清单
- ⚠️Windows 升级崩溃:覆盖旧目录时,旧版
tls/qopensslbackend.dll可能与新版 Qt 不兼容导致启动崩溃,应移除该旧文件(建议解压到新目录并迁移Moonlight Game Streaming Project设置文件夹) - ⚠️找不到依赖:确认已执行
git submodule update --init --recursive和对应的setup-deps脚本 - ⚠️Linux 缺库报错:多为 apt 依赖漏装,对照上文依赖列表逐项补齐
按照这份四平台矩阵走完,你就能在不同系统上产出与官方 CI 一致构建逻辑的 Moonlight V+ for PC 客户端,为自己的串流体验定制专属版本。🚀
【免费下载链接】moonlight-qt
GameStream client for PCs (Windows, Mac, Linux, and Steam Link)
相关推荐
5 分钟把模糊老视频变清晰:Video2X 免费超分辨率与帧插值完整指南
5 分钟把模糊老视频变清晰:Video2X 免费超分辨率与帧插值完整指南 多年前下载好的 480P 番剧、手机随手拍的晃动录像,放到高分辨率屏幕上都显得毛糙。
音视频视频处理图像处理深度学习espanso 源码编译构建指南:Windows / macOS / Linux 全平台从零构建
espanso 源码编译构建指南:Windows / macOS / Linux 全平台从零构建 espanso 是一款使用 Rust 编写的跨平台、隐私优先的
桌面应用CLI如何从零构建企业级视频会议平台:mediasoup实战指南
如何从零构建企业级视频会议平台:mediasoup实战指南 想要构建稳定可靠的企业级视频会议系统?mediasoup作为一款开源的WebRTC SFU(选择性转
后端音视频
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考