资讯动态

如何在 Windows 上从源码构建 Video2X Qt6 GUI 并部署运行依赖

发布时间:2026/9/14 20:34:49 来源:尧图企业网站定制
如何在 Windows 上从源码构建 Video2X Qt6 GUI 并部署运行依赖【免费下载链接】video2xA machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018.项目地址: https://gitcode.com/GitHub_Trending/vi/video2xVideo2X 6.4.0版本见 CMakeLists.txt的 Windows 源码构建由两部分组成当前仓库中的libvideo2x共享库FFmpeg 解码/编码封装 Real-ESRGAN、Real-CUGAN、RIFE 等处理链以及独立的 Qt6 GUI 仓库video2x-qt6。要从源码运行 GUI需要依次完成三件事在当前仓库构建libvideo2x共享库并安装到build/libvideo2x-shared在video2x-qt6仓库用 Qt Creator 构建 GUI 可执行文件把 Qt 运行时 DLL 和libvideo2x依赖文件复制到 release 目录。文档教程假设 Qt6 安装在默认位置C:\Qt见 Windows (Qt6) 构建文档。1. 准备环境手动安装的工具按 Windows (Qt6) 与 Windows 两份构建文档以下工具必须手动安装Visual Studio 2022工作负载选择Desktop development with Cwinget-cliQt6组件选择Qt6 with MSVC 2022 64-bit和Qt CreatorCMake构建libvideo2x共享库时使用video2x-qt6仓库文档未要求Vulkan SDK当前仓库 CMakeLists.txt 中find_package(Vulkan REQUIRED)是硬性依赖其中 CMake 与 Vulkan SDK 列于 Windows 平台构建文档构建libvideo2x命令行时必需video2x-qt6仓库文档只列了 VS 2022、winget-cli 和 Qt6。2. 克隆仓库先安装 Git若尚未安装然后克隆两个仓库# 安装 Git若尚未安装 winget install -e --idGit.Git # 主仓库用于构建 libvideo2x 共享库 git clone --recurse-submodules https://gitcode.com/GitHub_Trending/vi/video2x.git cd video2x # Qt6 GUI 仓库独立项目必须带子模块 git clone --recurse-submodules https://gitcode.com/GitHub_Trending/vi/video2x-qt6.git两个仓库的--recurse-submodules参数保留文档原样。GUI 项目是独立仓库本文后续步骤分别在两个目录中执行注意不要混淆。3. 构建 libvideo2x 共享库libvideo2x的构建流程来自 Windows 构建文档。构建前需要下载 FFmpeg 与 ncnn 两个预编译包并解压到third_party在video2x仓库根目录执行# 手动安装的依赖版本 $ffmpegVersion 7.1 $ncnnVersion 20240820 # 下载并解压 FFmpeg共享库版 curl -Lo ffmpeg-shared.zip https://github.com/GyanD/codexffmpeg/releases/download/$ffmpegVersion/ffmpeg-$ffmpegVersion-full_build-shared.zip Expand-Archive -Path ffmpeg-shared.zip -DestinationPath third_party Rename-Item -Path third_party/ffmpeg-$ffmpegVersion-full_build-shared -NewName ffmpeg-shared # 下载并解压 ncnnvs2022 共享库版 curl -Lo ncnn-shared.zip https://github.com/Tencent/ncnn/releases/download/$ncnnVersion/ncnn-$ncnnVersion-windows-vs2022-shared.zip Expand-Archive -Path ncnn-shared.zip -DestinationPath third_party Rename-Item -Path third_party/ncnn-$ncnnVersion-windows-vs2022-shared -NewName ncnn-sharedFFmpeg 版本固定为文档指定的7.1ncnn 为20240820CMake 在 Windows 上会引用third_party/ffmpeg-shared与third_party/ncnn-shared/x64见 CMakeLists.txt 与 CMakeLists.txt目录名必须与上面Rename-Item的结果一致。下载完成后配置并构建。这些-D选项让构建使用仓库内置/预编译的第三方库ncnn、spdlog、Boost而非系统库CMAKE_INSTALL_PREFIX把安装产物指向 GUI 构建文档要求的third_party/libvideo2x-shared的来源位置cmake -S . -B build -DUSE_SYSTEM_NCNNOFF -DUSE_SYSTEM_SPDLOGOFF -DUSE_SYSTEM_BOOSTOFF -DCMAKE_BUILD_TYPERelease -DCMAKE_INSTALL_PREFIXbuild/libvideo2x-shared cmake --build build --config Release --parallel --target install构建成功后产物位于build/libvideo2x-shared包括libvideo2x.dll及运行时 DLLFFmpeg、ncnn 等、头文件、Video2XConfig.cmake包配置和models模型文件安装规则见 CMakeLists.txt。以该目录中能看到libvideo2x.dll作为本步骤完成的判断。4. 构建 Qt6 GUI切换到video2x-qt6仓库根目录。构建前同样要准备 FFmpeg版本与主仓库保持一致为7.1$ffmpegVersion 7.1 curl -Lo ffmpeg-shared.zip https://github.com/GyanD/codexffmpeg/releases/download/$ffmpegVersion/ffmpeg-$ffmpegVersion-full_build-shared.zip Expand-Archive -Path ffmpeg-shared.zip -DestinationPath third_party Rename-Item -Path third_party/ffmpeg-$ffmpegVersion-full_build-shared -NewName ffmpeg-shared然后用 Qt Creator 完成构建对应文档第 3 节 Build the Project用 Qt Creator 打开video2x-qt6仓库根目录的CMakeLists.txt作为项目文件。配置时选择Desktop Qt 6.8.0 MSVC2022_64bit套件、Release构建配置——文档中windeployqt命令使用的目标路径就是Desktop_Qt_6_8_0_MSVC2022_64bit-Release配置名称与之一致才对应得上。点击窗口左下角的锤子图标构建项目。构建完成后可执行文件video2x-qt6.exe位于build目录具体路径为build\Desktop_Qt_6_8_0_MSVC2022_64bit-Release。5. 部署运行时依赖到 release 目录video2x-qt6.exe不能单独运行需要把 Qt 运行时和libvideo2x依赖复制进 release 目录。先清理删除 release 目录中除video2x-qt6.exe和.qm文件之外的所有内容文档说明这些文件不是运行应用所必需的。然后运行windeployqt复制 Qt 运行时 DLL。在video2x-qt6仓库根目录执行C:\Qt\6.8.0\msvc2022_64\bin\windeployqt.exe --release --compiler-runtime .\build\Desktop_Qt_6_8_0_MSVC2022_64bit-Release\video2x-qt6.exe注意两点6.8.0是文档使用的 Qt 版本如果你安装的 Qt 版本不同把路径中的版本号替换为你实际安装的版本--compiler-runtime会把 MSVC 运行时 DLL 一并复制。再复制libvideo2x共享库把主仓库build/libvideo2x-shared目录下的所有文件复制到 release 目录但排除include、libvideo2x.lib和video2x.exe——前两项是开发头文件与导入库video2x.exe是命令行版可执行文件都不是 GUI 运行所需的文件文档原文表述为third_party/libvideo2x-shared路径即该共享库目录。6. 验证与运行部署完成后文档给出的验证方式是双击video2x-qt6.exeNow you should be able to run the application by double-clicking onvideo2x-qt6.exe.GUI 窗口能正常弹出即说明 Qt 运行时与libvideo2x依赖都已就位。如果弹出缺少某个 DLL 的提示按第 5 节的两个来源对照检查Qt 相关的 DLL 由windeployqt负责libvideo2x.dll、FFmpeg/ncnn 等依赖 DLL 来自主仓库的build/libvideo2x-shared。最后两点文档明确提到的限制Qt6 必须安装在默认位置C:\Qt否则windeployqt路径需要相应调整libvideo2x的 C API 目前高度易变见 libvideo2x 开发文档从源码构建的结果只对应当前仓库版本升级源码后建议重新走一遍第 3 步并更新 release 目录中的libvideo2x文件。【免费下载链接】video2xA machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018.项目地址: https://gitcode.com/GitHub_Trending/vi/video2x创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价