MHY_Scanner部署指南:CMake Install快速打包含Qt与FFmpeg DLL的Windows扫码登录应用
【免费下载链接】MHY_ScannerMHY扫码登录器,支持从直播流抢码。项目地址: https://gitcode.com/gh_mirrors/mh/MHY_Scanner
MHY_Scanner 是一款免费的米哈游游戏扫码登录器,支持屏幕二维码自动识别与直播流抢码,一键登录崩坏3、原神、星穹铁道、绝区零的官服账号。本文是面向新手的完整部署教程:带你用CMake Install三步完成构建,将包含Qt 与 FFmpeg DLL的 Windows 应用打包成分发 ZIP,并逐条解析 install 规则,让你明白每个 DLL 是如何被收进发布包的。
📦 先认识它:屏幕识别 + 直播抢码双模式
MHY_Scanner 提供两种登录方式:
| 模式 | 适用场景 | 说明 |
|---|---|---|
| 🖥️ 监视屏幕 | 日常登录 | 自动识别任意显示在屏幕上的二维码 |
| 📡 监视直播间 | 竞争激烈抢码 | 输入RID后从直播流中抓取二维码 |
此外还支持多账号表格化管理、启动即扫、扫完自动退出等实用开关,详见 README.md。
抢码模式下,程序通过FFmpeg解码直播流画面,再交给OpenCV与本地扫码模型识别,这就是为什么打包时必须携带 FFmpeg 动态库。
🧩 依赖全景:Qt6、FFmpeg 与 vcpkg 如何协作
| 依赖 | 作用 | 来源 |
|---|---|---|
| Qt 6.8 | 界面(Widgets) | 需单独安装,CI 使用win64_msvc2022_64版 |
| FFmpeg | 直播流解码、帧提取 | 配置时自动下载官方预编译 win64 shared 版 |
| OpenCV / cpr / OpenSSL / WebView2 | 图像识别 / 网络 / 加密 / 登录页 | 由 vcpkg.json 声明,vcpkg 统一安装 |
| QR-Code-generator | 生成登录二维码 | 仓库内置静态库,见 cmake/build_QR-Code-generator.cmake |
两个值得注意的自动化设计:
- FFmpeg 零配置:cmake/install_ffmpeg.cmake 在 configure 阶段检测不到 FFmpeg 时会直接下载并解压到构建目录,无需手动安装;
- cpr 静态内嵌:cmake/build_cpr.cmake 通过 ExternalProject 将 cpr + libcurl 编为静态库,最终分发包里不产生额外 DLL。
🚀 一键部署:配置、编译、安装三步走
前置环境:Windows 10/11 + Visual Studio 2022(MSVC)+ CMake 3.26+ + Qt 6.8 + vcpkg。
获取源码:
git clone https://gitcode.com/gh_mirrors/mh/MHY_Scanner cd MHY_Scanner官方 CI 工作流 .github/workflows/windows-build.yml 即标准流程,本地复刻只需三条命令:
# 1. 配置(vcpkg 作为工具链,静态 CRT 三元组) cmake -B build -DCMAKE_BUILD_TYPE=Release ` -DCMAKE_TOOLCHAIN_FILE=<vcpkg目录>\scripts\buildsystems\vcpkg.cmake ` -DVCPKG_TARGET_TRIPLET=x64-windows-static-md ` -DCMAKE_INSTALL_PREFIX=<安装目录> -DUNIT_TESTS=OFF -DDEV=OFF # 2. 编译 cmake --build build --config Release --parallel # 3. 安装(收集 exe 与全部 DLL) cmake --install build --config Release💡
x64-windows-static-md三元组让 vcpkg 依赖以静态方式链接进 exe,能显著减少运行时 DLL 数量;FFmpeg 是唯一保留动态链接的第三方库。
📦 Install 规则详解:DLL 如何被收进发布包
打包的核心逻辑集中在 CMakeLists.txt 的 install 段,目标目录为<前缀>/MHY_Scanner_1.1.15/(版本号随项目自动变化):
| 安装内容 | 去向 |
|---|---|
MHY_Scanner.exe+ 调试符号 PDB | 根目录 |
Qt6Core.dllQt6Widgets.dllQt6Gui.dll | 根目录 |
avcodec-*.dllavformat-*.dllavutil-*.dllswscale-*.dllswresample-*.dll | 根目录 |
qwindows.dll等 4 个 platform 插件 | plugins/platforms/ |
qmodernwindowsstyle.dll样式插件 | plugins/styles/ |
| ScanModel/ 扫码识别模型(caffemodel/prototxt) | 根目录 |
其中 FFmpeg DLL 列表由 CMakeLists.txt 中的file(GLOB ...)通配收集,编译结束还会通过 POST_BUILD 命令先拷贝一份到构建输出目录,保证开发时直接运行也不缺 DLL。
收集完成后,一条 PowerShell 命令即可产出分发包:
powershell Compress-Archive -Path "install\*" -DestinationPath "MHY_Scanner_1.1.15.zip"接收者解压即用,另需安装一次 Visual C++ 运行时(README.md 中有下载指引)。
🧪 产物验证与常见问题
- 启动即报缺 DLL:对照上表检查根目录是否含 3 个 Qt DLL + 5 个 FFmpeg DLL,缺失多因 FFmpeg 下载目录被清理后重新 install;
- 界面白屏/无窗口:确认
plugins/platforms/qwindows.dll与 exe 保持相对路径不变,插件目录不可单独移动; - 扫码识别失败:确认
ScanModel目录随包一起分发,模型文件不可改名; - 调试符号:Release 包同样附带 PDB,便于崩溃时定位行号。
📁 关键文件速查
- 主构建脚本与 install 规则:CMakeLists.txt
- FFmpeg 自动下载脚本:cmake/install_ffmpeg.cmake
- cpr 静态构建脚本:cmake/build_cpr.cmake
- 依赖清单:vcpkg.json
- 官方 CI 打包流程:.github/workflows/windows-build.yml
- 扫码模型文件:ScanModel/
【免费下载链接】MHY_ScannerMHY扫码登录器,支持从直播流抢码。项目地址: https://gitcode.com/gh_mirrors/mh/MHY_Scanner
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考