从源码构建

从源码构建终端、后台与可选桌面程序。先准备工具链和前端产物,再配置 CMake。

本页内容

准备源码与依赖

需要 Git、支持 C++17 的编译器、CMake 3.20 及以上、Ninja 和 vcpkg。Web 前端还需要可用的 Node.js 与 pnpm。Windows 使用正确架构的开发者终端;macOS 准备 Xcode 命令行工具;Linux 准备编译工具与目标平台依赖。

终端
git clone --recurse-submodules https://github.com/tmoonlight/acecode.git
cd acecode
git submodule update --init --recursive

仓库中的 vcpkg 清单管理 C++ 依赖,测试依赖由 tests feature 提供。不要把一个平台的 build 目录直接拿到另一平台继续使用;切换架构或工具链时使用新的构建目录。

先构建嵌入式 Web 资源

终端
cd web
pnpm install
pnpm test
pnpm build
cd ..

CMake 会读取 web/dist 并把前端产物嵌入程序。修改前端后,需要重新生成这份产物,再重新配置并构建 C++。没有完整前端产物时,后台 API 可能仍能启动,但不会得到完整应用界面。

本帮助文档包与应用前端构建是两套产物:阅读 docs/help 不需要 pnpm,构建 ACECode 应用则需要准备其实际前端。

配置、编译与测试

下面是一条配置命令。把 vcpkg 路径和 triplet 替换为本机实际值;示例使用 Linux x64。Windows 路径可以使用正斜杠并加引号。

终端
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-linux -DVCPKG_OVERLAY_PORTS=ports -DVCPKG_MANIFEST_FEATURES=tests -DBUILD_TESTING=ON
cmake --build build --target acecode acecode_unit_tests
ctest --test-dir build --output-on-failure
目标平台常见 triplet
Windows x64x64-windows-static
Windows ARM64arm64-windows-static
Linux x64 / ARM64x64-linux / arm64-linux
macOS Intel / Apple siliconx64-osx / arm64-osx

交叉编译还需要相应工具链,不能只改 triplet 就假定可用。构建成功后运行产出的 acecode 显示版本,并用一个小任务或本地健康检查验证目标入口。

可选桌面构建与开发服务器

在前面的配置命令中加入 -DACECODE_BUILD_DESKTOP=ON,再构建 acecode-desktop 与 acecode。桌面程序运行时需要配套后台及平台资源;Windows 依赖 WebView2,Linux 桌面还需要相应 WebKitGTK 环境。详细平台条件以仓库 CMake 和打包工作流为准。

终端
cmake --build build --target acecode acecode-desktop

开发 Web 时,当前 Vite 配置将 /api 与 /ws 代理到 127.0.0.1:28080。因此为这个开发流程显式启动 28080 的独立后台,再在另一个终端运行 pnpm dev;它与未配置后台默认端口 12399 不同。

终端一 · 使用刚构建的程序路径
acecode daemon --foreground --port=28080
终端二 · 打开 Vite 输出的开发地址
cd web
pnpm dev

开发服务器用于本地调试;发布包还需按项目打包流程收集资源并验证,不等同于复制一个编译出的可执行文件。

搜索全部帮助文档