/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
前言
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 安装构建工具
编译需要以下两个核心工具:
CMake (版本 3.16 或更高)
- 作用:生成跨平台的构建配置文件。
- 下载:CMake 官网下载页面
- Windows 用户注意:安装时请务必勾选 “Add CMake to the system PATH”,以便在命令行中直接使用。
Ninja
- 作用:一个专注于速度的小型构建系统。
- 下载:Ninja 官网
- 配置:下载后是一个可执行文件 ninja.exe (Windows) 或 ninja (macOS/Linux)。你需要将其所在目录添加到系统的 PATH 环境变量中。
1.3 下载 Skia 图形库
Aseprite 的渲染引擎依赖于 Google 的 Skia 图形库。我们必须使用 Aseprite 官方提供的预编译版本。
- Skia-…-Windows-x64.zip (Windows 64位)
- Skia-…-macOS-Release.zip (macOS)
- Skia-…-Linux-x64.zip (Linux 64位)
- Windows: C:\\AsepriteBuild\\skia
- macOS/Linux: ~/aseprite-build/skia
2. Windows 平台编译步骤
2.1 安装 Visual Studio
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 目录下的 lib 或 obj 文件夹中的所有 .dll 文件复制到 build\\bin 目录下。
3. macOS 平台编译步骤
3.1 安装 Xcode 与命令行工具
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 头文件。 解决方案:找到报错的文件(通常在 laf 或 skia 子模块目录中),将其中的 #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 NOTFOUND 或 set SKIA_DIR…
- 原因:-DSKIA_DIR 等路径参数设置错误,或 Skia 包未正确解压。
- 解决:仔细检查 CMake 命令中所有 -DSKIA_* 参数的路径,确保它们指向解压后的 Skia 目录的正确层级。
5.2 子模块为空导致编译失败
- 症状:编译时提示 laf 或 skia 目录找不到文件。
- 解决:在源码根目录重新初始化并更新子模块:git submodule update –init –recursive
5.3 网络问题导致克隆失败
- 如果 git clone 速度过慢,可以尝试配置 Git 代理,或从 GitHub 页面下载源码 ZIP 包(但需手动处理子模块,较麻烦)。
6. 编译后使用与更新
6.1 使用
编译生成的 aseprite 可执行文件(或 Aseprite.app)位于 build/bin/ 目录下。你可以直接运行它,或将其复制到任何方便的地方,甚至创建桌面快捷方式。
6.2 更新
当 Aseprite 发布新版本时,你可以轻松更新你的编译版本:
git submodule update –init –recursive
总结
遵循本指南,你可以在 Windows、macOS 和 Linux 系统上成功从源代码编译 Aseprite。整个过程的核心在于:使用匹配的工具版本、精确指定 Skia 库路径 以及 确保子模块完整。虽然步骤略显繁琐,但一次成功的编译能让你永久免费使用这款强大的像素画工具。如果在操作中遇到本指南未涵盖的新问题,请仔细阅读终端报错信息,它们通常能提供明确的线索。祝你编译顺利,创作愉快! 🎨
附录:资源与参考链接
- Aseprite 官方源代码仓库:https://github.com/aseprite/aseprite
- 官方编译指南 (INSTALL.md):https://github.com/aseprite/aseprite/blob/main/INSTALL.md
- CMake 官网:https://cmake.org/
- Ninja 官网:https://ninja-build.org/
注意:本指南使用到的资源包如下,都是预编译包,切记不要直接使用源码包,版本不能太新,要留意对应包是否支持编译Aseprite
Aseprite-v1.3.17.1-Source Skia-Windows-Release-x64 cmake-4.4.0-rc3-windows-x86_64



