多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

如何从源码编译 Magpie:VS2022 + Conan 构建完整教程

如何从源码编译 Magpie:VS2022 + Conan 构建完整教程 如何从源码编译 MagpieVS2022 Conan 构建完整教程【免费下载链接】MagpieUnofficial experimental Magpie fork with colour-only DLSS, FSR2 and NVIDIA RTX Video integrations项目地址: https://gitcode.com/gh_mirrors/magpie27/MagpieMagpie 是一款 Windows 窗口图像处理工具这个实验分支集成了 DLSS、FSR2、XeSS 和 NVIDIA RTX Video 等 AI 超分辨率技术。本教程带你使用 VS2022 和 Conan 从源码编译 Magpie完整讲解依赖安装、依赖锁定机制和常见构建选项即使你是第一次编译 C/WinUI 项目也能顺利跑通。一、编译前准备安装 VS2022 与 Conan 依赖编译 Magpie 源码需要以下 4 个工具全部安装并加入系统环境变量PATH后即可开始工具版本要求说明Visual Studio 2022最新版需安装「使用 C 的桌面开发」「通用 Windows 平台开发」两个工作负荷以及 Windows SDK 26100 或更高版本CMake任意新版也可以直接使用 VS 内置 CMake位于Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\binPython3.11用于安装 Conan 及辅助脚本Conan2.x执行pip install conan安装安装完成后打开终端执行以下三条命令验证是否就绪cmake --version python --version conan --version小提示VS2022 自带的 CMake 默认不在PATH中如果cmake --version报错要么手动把上述目录加入环境变量要么单独安装 CMake。官方中文指南见 docs/编译指南.md。二、获取 Magpie 源码用 Git 克隆仓库到本地任意目录建议避免中文路径和空格git clone https://gitcode.com/gh_mirrors/magpie27/Magpie仓库结构中与构建直接相关的部分Magpie.slnxVisual Studio 解决方案入口所有项目都挂在它下面src/Magpie/主程序WinUI 界面src/Magpie.Core/渲染核心包含效果绘制、DLSS/FSR/RTX Video 后端src/_ConanDeps/Conan 依赖自动安装工程是理解本项目的关键conan-locks/第三方依赖的锁定文件保证构建可复现三、打开解决方案并生成项目这一步非常简单也是 Magpie 构建流程设计的巧妙之处双击根目录的Magpie.slnx用 Visual Studio 2022 打开顶部选择Release / x64配置菜单「生成 → 生成解决方案」或按CtrlShiftB首次编译时间较长Conan 首次下载并构建全部依赖之后增量编译会快很多。编译成功后产物位于bin\x64\Release\目录直接运行其中的Magpie.exe即可看到上图界面。完整运行时还需要TouchHelper.exe、Updater.exe、resources.pri和effects目录它们都会自动输出到同一目录。四、理解 Conan 依赖的自动集成机制Magpie 没有要求你手动执行conan install而是通过一个名为_ConanDeps的 Utility 项目src/_ConanDeps/_ConanDeps.vcxproj在构建前自动完成依赖解析自动发现构建时扫描src/下每个子项目里的conanfile.txt主项目清单见 src/Magpie/conanfile.txt包含 fmt、spdlog、rapidjson、imgui 等 9 个依赖按工具链选择 profileMSVC 构建使用 msvc.profile静态运行时、C17若开启UseClangCL选项则自动切换为 clang-cl.profile锁定依赖版本conan install会携带 conan-locks/ 中的锁定文件例如 conan-locks/Magpie.lock把依赖的配方修订版固定下来生成 MSBuild 工程通过MSBuildDeps生成器输出conandeps.props主项目自动导入头文件与库路径⚠️注意根据 conan-locks/README.md 的说明锁定文件面向Release x64 MSVC构建日常构建不要给 Conan 追加--update参数否则可能破坏可复现性。锁定文件只在有意识地审查依赖升级时才需要刷新。另外_ConanDeps工程会自动检测编译选项编译器类型、MSBuild 版本的变化——一旦你从 MSVC 切到 clang-cl 或升级了 VS它会触发依赖重新解析并注入对应的编译标志如 Release 的/GL全程序优化。五、按需调整功能开关BuildOptions.props主程序默认是「纯净版」构建DLSS SR、FSR2/3、XeSS、RTX Video 等实验性专有后端默认全部关闭。如果你希望启用这些功能需要复制 src/BuildOptions.props 为src/BuildOptions.props.user该文件不会被 Git 跟踪在.user文件中打开对应开关例如把EnableDLSSFrameGeneration改为true专有 SDK 路径如DLSSSdkDir、FSR2SdkDir、VFXSdkDir也需要自行配置BuildOptions.props文件头部明确提示不要直接修改原文件应通过.user文件或命令行参数覆盖这样便于撤销。六、发布打包与触控支持进阶如果你需要像 CI 一样产出正式发布包含版本号、SHA256 校验、build-manifest.json可以运行打包脚本 scripts/Build-Release.ps1它会自动定位 MSBuild、补齐 Conan/CMake 路径并执行完整重编。若需要触控输入支持TouchHelper.exe必须经过签名。手动签名步骤创建自签名证书并导出为.pfx文件把 src/Magpie/TouchHelper.cpp 中的CERT_FINGERPRINT常量替换为证书的 SHA-1 指纹在仓库根目录执行python scripts/publish.py --pfx-pathpfx 路径 --pfx-passwordpfx 密码编译产物位于publish\x64目录。七、常见问题速查问题解决方法conan命令找不到重新执行pip install conan确认 Python 的Scripts目录在PATH中找不到 MSBuild/MSVC 工具链VS 安装器中确认「使用 C 的桌面开发」已装且 Windows SDK ≥ 26100首次构建极慢正常现象Conan 需要下载并编译 9 个第三方依赖第二次构建会明显加快切换了 VS 版本后行为异常属正常机制_ConanDeps会检测到 MSBuild 版本变化并自动重新生成依赖想要 Debug 调试配置选 Debug/x64 即可锁定文件针对 ReleaseDebug 下 Conan 会按build_typeDebug重新解析总结编译 Magpie 的核心流程只有三步装好 VS2022 Python Conan → 克隆仓库 → 打开Magpie.slnx生成。Conan 依赖由_ConanDeps工程全自动接管锁定文件保证每次构建结果一致你只需要专注在 VS 里点「生成」。如果希望深入了解架构设计推荐阅读 docs/experimental/README.md 中的实验特性设计文档。【免费下载链接】MagpieUnofficial experimental Magpie fork with colour-only DLSS, FSR2 and NVIDIA RTX Video integrations项目地址: https://gitcode.com/gh_mirrors/magpie27/Magpie创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表