Windows / macOS / Linux 全平台编译 — 免费使用专业像素绘画工具

3.1 为什么要自己编译?

Aseprite 官方商店付费,但其代码完全开源,允许个人编译使用。自己编译不仅能免费获得最新功能,还能按需启用 Lua 脚本、WebSocket 等特性。下面提供各平台最详细的步骤,适合没有编译经验的新手。

3.2 通用准备(所有平台)

安装 Git

安装 CMake 和 Ninja

这是构建系统的核心。版本要求 CMake ≥ 3.15,Ninja 任意新版。

获取 Aseprite 源码

仓库地址:github.com/aseprite/aseprite

git clone --recursive https://github.com/aseprite/aseprite.git
cd aseprite

--recursive 非常重要,否则子模块不会下载。

3.3 关键依赖:Skia 库的获取

Aseprite 依赖 Google 的 Skia 图形库,编译它非常耗时,官方提供了预编译包。

  1. 访问 aseprite/skia releases
  2. 下载与你平台匹配的版本:例如 Skia-m124-Windows-x64.zipSkia-m124-macOS-15.2.zipSkia-m124-Linux-x64.zip
  3. 解压到固定目录,建议路径:
    • Windows: C:\deps\skia
    • macOS: ~/deps/skia
    • Linux: ~/deps/skia

3.4 平台详细编译指南

Windows 11 (使用 Visual Studio 2022)

安装 Visual Studio 2022 Community(免费)
下载时,务必在"工作负荷"选项卡中勾选"使用 C++ 的桌面开发",右侧确保勾选:

配置环境
打开 x64 Native Tools Command Prompt for VS 2022(在开始菜单搜索),这个终端已自动设置了所有编译环境变量。后面所有操作都在此终端进行。

构建

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=C:\deps\skia -G Ninja ..
ninja

注意:SKIA_DIR 路径必须与你解压的位置匹配,且不要带空格。

生成的可执行文件位于 build\bin\aseprite.exe。可直接双击运行,或将其路径加入环境变量方便调用。

macOS 15+ (使用 Xcode)

从 App Store 安装 Xcode,并至少运行一次以接受许可,确保 xcode-select --install 已安装命令行工具。

打开终端,设置 SDK 路径变量(非常重要):

export CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

你可以先验证该路径是否存在:ls $CMAKE_OSX_SYSROOT

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=$HOME/deps/skia -DCMAKE_OSX_SYSROOT=$CMAKE_OSX_SYSROOT -G Ninja ..
ninja

完成后,build/bin/aseprite 即可使用。你可以将它拖入"应用程序"文件夹创建快捷方式。

Linux (Ubuntu 22.04+ 示例)

安装编译工具链和依赖库:

sudo apt update
sudo apt install -y clang-12 libc++-dev libc++abi-dev libfreetype-dev libharfbuzz-dev libjpeg-dev libpng-dev libwebp-dev libssl-dev

(不同发行版包名可能略不同,请参考 INSTALL.md)

设置编译器为 clang:

export CC=clang-12
export CXX=clang++-12
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=$HOME/deps/skia -G Ninja ..
ninja

3.5 启用高级功能(可选)

在运行 cmake 时,你可以通过添加 -D 参数来开启更多功能:

完整命令示例:

cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=C:\deps\skia -DENABLE_SCRIPTING=ON -DENABLE_WEBSOCKET=ON -G Ninja ..

3.6 常见编译错误及解决办法

错误 1:ninja: error: loading 'build.ninja': 系统找不到指定的文件。
这表示 CMake 配置步骤失败。往上翻错误日志,最常见的是找不到 Skia 或依赖。检查 SKIA_DIR 路径是否正确,以及该目录下有 skia.lib(Windows)或 libskia.a(其他系统)。
错误 2:CMake Error: CMake was unable to find a build program corresponding to "Ninja".
没有安装 Ninja 或 Ninja 不在 PATH 中。执行 ninja --version 测试。
错误 3:error: no member named 'format' in namespace 'std' 或大量 C++ 标准库错误
编译器版本过低。确保使用 Visual Studio 2022、Xcode 16+、或 clang-12+。
错误 4:fatal error: 'freetype/freetype.h' file not found
缺少系统依赖。Linux 用户需运行上述 apt 安装命令;macOS 用户 brew install freetype;Windows 通常由 Skia 自带,若出现则检查 Skia 包完整性。
错误 5:The procedure entry point could not be located in the dynamic link library
运行时错误,通常是缺少 VC++ 运行库。下载安装 Visual C++ Redistributable 即可解决。

3.7 保持更新

当官方发布新版本,你只需进入源码目录执行:

git pull --recurse-submodules

然后重新进入 build 目录执行 ninja 即可增量编译,速度会快很多。