前言

Aseprite 是一款广受好评的像素画编辑软件,但其官方版本需要付费。本指南将详细介绍如何从源代码手动编译 Aseprite,从而免费、合法地获得一个功能完整、无任何限制的版本。无论你使用的是 Windows、macOS 还是 Linux 系统,本文都将提供详细的步骤、清晰的命令和常见问题的解决方案,帮助你顺利完成编译。

1. 通用准备工作(所有平台)

在开始平台特定的步骤之前,有一些准备工作是所有用户都需要完成的。

1.1 获取源代码

首先,你需要获取 Aseprite 的源代码及其所有子模块。打开终端(或命令行),执行以下命令:

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

如果之前已经克隆过仓库,可以进入目录并更新:

cd aseprite
git pull
git submodule update --init --recursive

重要提示--recursive 参数至关重要,它能确保拉取所有必要的依赖子模块(如 laf、skia 等)。

1.2 安装构建工具

编译需要以下两个核心工具:

  1. CMake (版本 3.16 或更高)

    • 作用:生成跨平台的构建配置文件。
    • 下载CMake 官网下载页面
    • Windows 用户注意:安装时请务必勾选 “Add CMake to the system PATH”,以便在命令行中直接使用。
  2. Ninja

    • 作用:一个专注于速度的小型构建系统。
    • 下载Ninja 官网
    • 配置:下载后是一个可执行文件 ninja.exe (Windows) 或 ninja (macOS/Linux)。你需要将其所在目录添加到系统的 PATH 环境变量中。

1.3 下载 Skia 图形库

Aseprite 的渲染引擎依赖于 Google 的 Skia 图形库。我们必须使用 Aseprite 官方提供的预编译版本。

  1. 访问 Aseprite 的 GitHub Release 页面:https://github.com/aseprite/aseprite/releases
  2. 在最新版本的 “Assets” 列表中,找到与你操作系统和架构对应的 Skia 压缩包。例如:
    • Skia-...-Windows-x64.zip (Windows 64位)
    • Skia-...-macOS-Release.zip (macOS)
    • Skia-...-Linux-x64.zip (Linux 64位)
  3. 将压缩包解压到一个路径简单、无中文、无空格的目录中。例如:
    • Windows: C:\AsepriteBuild\skia
    • macOS/Linux: ~/aseprite-build/skia

2. Windows 平台编译步骤

2.1 安装 Visual Studio

  1. 下载并安装 Visual Studio Community 2022(免费版本),亲测使用了2026版本失败了。
  2. 在安装界面,选择工作负载 “使用 C++ 的桌面开发”
  3. 确保右侧细节中包含了 Windows 10 SDKWindows 11 SDK

2.2 使用正确的命令行

这是关键一步! 你必须使用 Visual Studio 附带的开发者命令提示符。

  • 在开始菜单中搜索并打开 “x64 Native Tools Command Prompt for VS 2022”
  • 切勿使用普通的 CMD 或 PowerShell,否则会因环境变量缺失导致编译失败。

2.3 配置与编译

在打开的 “VS 开发者命令提示符” 中,执行以下命令。请根据你的实际路径修改 -DSKIA_* 参数。

# 进入你的 Aseprite 源码目录
cd C:\AsepriteBuild\aseprite

# 创建并进入构建目录
mkdir build
cd build

# 运行 CMake 配置(请替换下面的 Skia 路径!)
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ^
      -DLAF_BACKEND=skia ^
      -DSKIA_DIR=C:\AsepriteBuild\skia ^
      -DSKIA_LIBRARY_DIR=C:\AsepriteBuild\skia\out\Release-x64 ^
      -DSKIA_LIBRARY=C:\AsepriteBuild\skia\out\Release-x64\skia.lib ^
      -G Ninja ..

# 开始编译
ninja aseprite

参数解释

  • -DCMAKE_BUILD_TYPE=RelWithDebInfo: 生成带调试信息的发布版本,便于排查问题。
  • -DLAF_BACKEND=skia: 指定使用 Skia 作为图形后端。
  • -DSKIA_DIR: 指向你解压的 Skia 库的根目录。
  • -DSKIA_LIBRARY_DIR-DSKIA_LIBRARY: 指向 Skia 库文件的具体位置。

2.4 运行与问题处理

编译成功后,可执行文件位于 build\bin\aseprite.exe

  • 若运行时提示缺少 .dll 文件(如 libcrypto-1_1-x64.dll),请将 build 目录下的 libobj 文件夹中的所有 .dll 文件复制到 build\bin 目录下。

3. macOS 平台编译步骤

3.1 安装 Xcode 与命令行工具

  1. 从 App Store 安装 Xcode (版本 13.1 或更高)。
  2. 安装 Xcode 命令行工具:
    xcode-select --install
    

3.2 安装 Homebrew、CMake 和 Ninja(推荐)

使用 Homebrew 包管理器可以方便地安装依赖。

# 安装 Homebrew (如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 CMake 和 Ninja
brew install cmake ninja

3.3 配置与编译

确保已完成 1.1 获取源代码1.3 下载 Skia 图形库 的步骤。

# 进入 Aseprite 源码目录
cd ~/aseprite-build/aseprite

# 创建并进入构建目录
mkdir build && cd build

# 运行 CMake 配置(请替换下面的 Skia 路径!)
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
      -DLAF_BACKEND=skia \
      -DSKIA_DIR=~/aseprite-build/skia \
      -DSKIA_LIBRARY_DIR=~/aseprite-build/skia/out/Release-x64 \
      -DSKIA_LIBRARY=~/aseprite-build/skia/out/Release-x64/skia.lib \
      -G Ninja ..

# 开始编译
ninja aseprite

macOS 特有错误处理

  • 错误:‘fp.h’ file not found
    这是因为新版 macOS SDK 移除了 fp.h 头文件。
    解决方案:找到报错的文件(通常在 lafskia 子模块目录中),将其中的 #include <fp.h> 修改为 #include <math.h>,然后重新执行 ninja aseprite

编译成功后,可在 build/bin/ 目录下找到 Aseprite.app

4. Linux 平台编译步骤

4.1 安装系统依赖

根据你的发行版安装编译所需的依赖库。

Ubuntu / Debian:

sudo apt-get update
sudo apt-get install -y g++ cmake ninja-build libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev

Fedora:

sudo dnf install -y gcc-c++ cmake ninja-build libX11-devel libXcursor-devel libXi-devel mesa-libGL-devel fontconfig-devel

Arch Linux:

sudo pacman -S gcc cmake ninja libx11 libxcursor mesa-libgl fontconfig

4.2 配置与编译

确保已完成 1.1 获取源代码1.3 下载 Skia 图形库 的步骤。

# 进入 Aseprite 源码目录
cd ~/aseprite-build/aseprite

# 创建并进入构建目录
mkdir build && cd build

# 运行 CMake 配置(注意 Linux 下库文件后缀为 .a)
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
      -DLAF_BACKEND=skia \
      -DSKIA_DIR=~/aseprite-build/skia \
      -DSKIA_LIBRARY_DIR=~/aseprite-build/skia/out/Release-x64 \
      -DSKIA_LIBRARY=~/aseprite-build/skia/out/Release-x64/libskia.a \
      -G Ninja ..

# 开始编译
ninja aseprite

Linux 特有提示

  • GCC 版本问题:如果使用非常新的 GCC(如 GCC 15)编译失败,可以尝试切换至较旧的版本(如 GCC 12)。
    export CC=gcc-12 CXX=g++-12
    # 然后再执行上面的 cmake 和 ninja 命令
    

5. 常见问题与故障排除

5.1 CMake 报错找不到 Skia

  • 错误示例CMake Error: WEBP_LIBRARIES NOTFOUNDset SKIA_DIR...
  • 原因-DSKIA_DIR 等路径参数设置错误,或 Skia 包未正确解压。
  • 解决:仔细检查 CMake 命令中所有 -DSKIA_* 参数的路径,确保它们指向解压后的 Skia 目录的正确层级

5.2 子模块为空导致编译失败

  • 症状:编译时提示 lafskia 目录找不到文件。
  • 解决:在源码根目录重新初始化并更新子模块:
    git submodule update --init --recursive
    

5.3 网络问题导致克隆失败

  • 如果 git clone 速度过慢,可以尝试配置 Git 代理,或从 GitHub 页面下载源码 ZIP 包(但需手动处理子模块,较麻烦)。

6. 编译后使用与更新

6.1 使用

编译生成的 aseprite 可执行文件(或 Aseprite.app)位于 build/bin/ 目录下。你可以直接运行它,或将其复制到任何方便的地方,甚至创建桌面快捷方式。

6.2 更新

当 Aseprite 发布新版本时,你可以轻松更新你的编译版本:

  1. 进入源码目录:
    cd path/to/aseprite
    
  2. 拉取最新代码并更新子模块:
    git pull
    git submodule update --init --recursive
    
  3. 建议删除旧的 build 目录,然后重新执行 CMake 配置ninja aseprite 命令,以确保所有更改都被正确应用。

总结

遵循本指南,你可以在 Windows、macOS 和 Linux 系统上成功从源代码编译 Aseprite。整个过程的核心在于:使用匹配的工具版本精确指定 Skia 库路径 以及 确保子模块完整。虽然步骤略显繁琐,但一次成功的编译能让你永久免费使用这款强大的像素画工具。如果在操作中遇到本指南未涵盖的新问题,请仔细阅读终端报错信息,它们通常能提供明确的线索。祝你编译顺利,创作愉快! 🎨

附录:资源与参考链接

注意:本指南使用到的资源包如下,都是预编译包,切记不要直接使用源码包,版本不能太新,要留意对应包是否支持编译Aseprite

Aseprite-v1.3.17.1-Source
Skia-Windows-Release-x64
cmake-4.4.0-rc3-windows-x86_64

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐