☰
如何从零构建Moonlight V+ for PC:四平台源码构建矩阵实战指南
2026/10/15 16:01:39 网站建设 项目流程

【免费下载链接】moonlight-qt

GameStream client for PCs (Windows, Mac, Linux, and Steam Link)

项目地址:https://gitcode.com/gh_mirrors/moo/moonlight-qt
点击查看免费下载

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 SDK6.12.0(与 CI 保持一致最稳)
Visual Studio2022(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-release

macOS 构建: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.sh

scripts/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.sh

scripts/build-steamlink-app.sh 会初始化 SDK 环境、用CONFIG+=config_SL配置项目、复制 app/deploy/steamlink/ 下的元数据并压缩成发布 zip。注意 Steam Link 硬件上限:最大 1080p / 60 FPS / 40 Mbps,不支持 HDR。

四平台构建矩阵速查表

平台关键工具链一键入口产物形态
WindowsQt 6.12 + VS 2022 + MSVCscripts\build-arch.bat安装包 / 便携版
macOSQt 6.11 + Xcode + create-dmgscripts/generate-dmg.sh.dmg
LinuxQt 6 + FFmpeg + SDL2scripts/build-appimage.sh.AppImage
Steam LinkSTEAMLINK_SDK_PATH + qmakescripts/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)

项目地址:https://gitcode.com/gh_mirrors/moo/moonlight-qt
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询