shadPS4 如何在 Windows 上用 Visual Studio 2022 与 Clang x64 编译?
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
shadPS4 是一个用 C++ 编写的 PlayStation 4 模拟器,仓库内是模拟器核心(不含 QtLauncher 图形界面)。如果你需要在 Windows 上从源码编译它用于开发、调试或测试,官方文档给出的第一种路径就是:用 Visual Studio 2022 的图形界面,配合仓库自带的 "Clang x64" CMake 预设完成构建。下文按 documents/building-windows.md 中 "Option 1: Visual Studio 2022" 的完整流程执行:准备环境、克隆源码、构建,并确认产物位置。适用环境为 Windows x64;文档明确说明 ARM64 不受支持,目前既无法构建也无法运行。
准备编译环境
从微软官网下载并安装 Visual Studio 2022 Community 版。在安装器中:
- 选择
Desktop development with C++工作负载; - 切到 "Individual Components" 选项卡,搜索并同时勾选
C++ Clang Compiler for Windows和MSBuild support for LLVM; - 继续完成安装。
额外勾选这两个组件不是可选项,否则 "Clang x64" 这套构建配置无法工作:cmake/CMakeWindowsPresets.json 中的x64-Clang-Base预设指定了clang-cl作为 C/C++ 编译器、Ninja作为生成器,且 CMakeLists.txt 开头将 C++ 标准固定为 23(CMAKE_CXX_STANDARD 23、CMAKE_CXX_STANDARD_REQUIRED True)。
再安装 Git for Windows,按默认安装流程走即可。
一个版本约束需要留意:CMakePresets.json 通过cmakeMinimumRequired声明预设文件最低要求 CMake 3.30.0。
克隆 shadPS4 源码
打开 Git for Windows(终端),进入打算存放源码的目录,执行:
git clone --depth 1 --recursive https://github.com/shadps4-emu/shadPS4文档特别提醒:如果你需要编译旧版本构建用于测试,git clone时不要带--depth 1。该参数会省略提交历史以节省空间,代价是无法再检出旧提交。
如果仓库已经克隆过、只是缺少子模块内容,可以改用:
git submodule update --init --recursive在 Visual Studio 2022 中构建
- 打开 Visual Studio,选择
Open a local folder,选中 shadPS4 源码目录。该目录必须包含CMakeLists.txt; - 工具栏上的构建配置默认是
Clang x64 Debug。想要常规的非调试构建时,把它改成Clang x64 Release,否则保持Clang x64 Debug; - 将构建的项目(solution/project 下拉项)切换为
shadps4.exe。这对应 CMakeLists.txt 中定义的可执行目标shadps4; - 菜单
Build→Build All。
构建工具下拉框里的Clang x64 Debug、Clang x64 Release等选项,来自 CMakePresets.json 定义的x64-Clang-Debug/x64-Clang-Release预设,其二进制目录由binaryDir模板${sourceDir}/Build/${presetName}决定。
验证构建结果
构建成功后,shadps4.exe的位置随所选择的配置而定(文档按 Release 配置给出示例):
Clang x64 Release:<你的源码目录>\Build\x64-Clang-Release\(文档写作C:\path\to\source\Build\x64-Clang-Release\,其中C:\path\to\source即你本地的源码目录);Clang x64 Debug:<你的源码目录>\Build\x64-Clang-Debug\。
确认对应Build子目录中生成了shadps4.exe即说明该配置构建完成。产物生成后可以用--help标志运行它:README 说明该标志会输出所有可用命令的列表以及每条命令的更详细描述,例如shadPS4 CUSA00001会在游戏安装目录列表中查找名为 CUSA00001 的文件夹并启动它,shadPS4 /path/to/game.elf则直接启动一个 PS4 ELF 文件。
已知限制与替代路径
- Windows ARM64 不受支持:文档写明目前不会构建也不会运行,其中涉及 ARM64 的说明仅供开发者参考;
- MSYS2/MinGW 路径当前是坏的:文档指出目前 Windows 上可用的构建方式只有本文的 Visual Studio 2022 路径,以及 documents/building-windows.md 中 "Option 2: VSCode with Visual Studio Build Tools";
- 如果默认 IDE 是 VSCode:同一文档给出可选的 Option 2,需另装 LLVM 19.1.1、CMake 4.2.3 或更新版本、Ninja 1.13.2 或更新版本,外加 Visual Studio Build Tools 的
MSVC - Windows SDK组件(无需安装 IDE),再打开文档给出的shadps4.code-workspace工作区文件,把配置从Clang x64 Debug切到Clang x64 Release后点击 build,产物同样位于shadps4\shared\Build\x64-Clang-Release\。该路径与本文的 VS2022 路径二选一即可,不要混用。
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考