本项目使用 Qt 框架(Qt Widgets)和 C++ 语言开发。在参与本项目的开发前,请确保熟悉计算机的基础知识,并掌握 git 等命令行程序的使用方法。
本仓库含有子模块,需要一起克隆下来:
git clone [email protected]:flutydeer/ds-editor-lite.git --recursive
如果需要 git 命令行使用代理,请自行搜索“git代理配置”。如果在网络畅通的情况下无法克隆,请自行搜索“git配置ssh”。
初始化子模块(按需使用):
git submodule init
拉取子模块更新的远程更改(按需使用):
git submodule update --remote
本项目使用 MSVC,需要下载安装 Visual Studio 安装器,工作负荷选择“使用 C++ 的桌面开发”,在右侧的安装详细信息勾选以下项目:
- MSVCv143-VS2022C++x64/x86生成工具(最新)
- 适用于最新v143生成工具的C++ATL(x86和x64)
- Windows 11 SDK(10.0.22621.0)(或者更高版本)
如果已安装的 Windows SDK 是较旧的版本,建议更新到最新版。本项目需要调用 DWM 的 API,旧版的头文件无法提供某些枚举值。
安装 gcc 等构建工具:
sudo apt-get install build-essential
本项目使用 Qt 6。需要在 Qt 官网注册账号,类型为个人开发者。由于 Qt 官方源访问速度可能较慢,且下载途中可能经常出现超时和错误,建议换源。带参启动安装器:
--mirror https://mirrors.ustc.edu.cn/qtproject
在“选择组件”页面展开“Qt”项目,找到“Qt 6.x.x”(尽可能选用新版本)。勾选以下选项:
- MSVC 2022 64-bit
- Qt 5 Compatibility Module
如果硬盘空间充足,可以勾选调试信息(体积较大)。
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
sudo apt-get install libglfw3-dev libglfw3
set QT_DIR=C:\Qt\6.7.2\msvc2019_64 # 根据实际情况修改
set Qt6_DIR=%QT_DIR%
set CMAKE_PREFIX_PATH=%QT_DIR%
set VCPKG_KEEP_ENV_VARS=QT_DIR;Qt6_DIR;Qt6GuiTools_DIR;CMAKE_PREFIX_PATH
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat
vcpkg install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=x64-windows
将 Qt 添加到临时环境变量(Linux):
export QTDIR=/home/OrangeCat/Qt/6.7.2/gcc_64 # 根据实际情况修改
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
之后运行:
export QT_DIR="/home/OrangeCat/Qt/6.7.2/gcc_64" # 根据实际情况修改
export Qt6_DIR=$QT_DIR
export VCPKG_KEEP_ENV_VARS="QT_DIR;Qt6_DIR;Qt6GuiTools_DIR;CMAKE_PREFIX_PATH"
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg install \
--x-manifest-root=../scripts/vcpkg-manifest \
--x-install-root=./installed \
--triplet=<triplet>
# triplet:
# Mac: `x64-osx` or `arm64-osx`
# Linux: `x64-linux` or `arm64-linux`
建议将 docs/dev-scripts
里的脚本复制到项目的根目录下,打开并根据其中的注释修改内容。如果以后需要更新依赖,可以使用这些脚本一键更新。
推荐使用 CLion,也可使用 Visual Studio,若使用 Visual Studio Code 则需要一些额外步骤。
-
如果选用 Visual Studio,请通过“打开本地文件夹”的方式打开项目文件夹,切勿创建解决方案和 Visual C++ 项目,Visual Studio 能够识别到本项目使用 CMake,并且自动打开 CMake 设置页面。如果不慎关闭该页面,可以右键单击解决方案资源管理器根目录下的
CMakeLists.txt
文件,选择“CMake 设置”重新打开。 -
如果选用 CLion,推荐在高级设置中勾选“Use the ReSharper C++ language engine (CLion Nova)”和“Use Clangd-based indexer”,以获得更好的开发体验;CLion EAP 版本过期后不能启动,介意者慎用。
在安装完依赖后,需要配置 CMake 选项。根据以下示例自行调整:
-DCMAKE_TOOLCHAIN_FILE=D:\GitRepos\ds-editor-lite\vcpkg\scripts\buildsystems\vcpkg.cmake
-DCMAKE_INSTALL_PREFIX=install
其中,CMAKE_TOOLCHAIN_FILE
为工具链的路径,CMAKE_INSTALL_PREFIX
为 CMake 安装目录。建议手动指定安装目录,这里设为构建目录下的 install
文件夹。
如果 CMake 配置时间非常长,期间不断输出"Could NOT find WrapVulkanHeaders",可以下载安装 Vulkan SDK,并添加到 CMake 选项中,例如:
-DVulkan_INCLUDE_DIR=E:\SDK\VulkanSDK\1.3.268.0\Include
如果选用 CLion,建议在“运行/调试配置”窗口左侧选中 DsEditorLite
目标,并勾选“在输出控制台中模拟终端”,以保证控制台文本的颜色正常显示(不同的日志消息等级有不同的颜色)。
建议 Window 10 用户安装 Window Terminal,并将其设为默认终端,以获得更好的体验。