Aseprite 手动编译完整指南:Windows、macOS、Linux 全平台教程
前言
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 官方提供的预编译版本。
- 访问 Aseprite 的 GitHub Release 页面:https://github.com/aseprite/aseprite/releases
- 在最新版本的 “Assets” 列表中,找到与你操作系统和架构对应的 Skia 压缩包。例如:
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
- Windows:
2. Windows 平台编译步骤
2.1 安装 Visual Studio
- 下载并安装 Visual Studio Community 2022(免费版本),亲测使用了2026版本失败了。
- 在安装界面,选择工作负载 “使用 C++ 的桌面开发”。
- 确保右侧细节中包含了 Windows 10 SDK 或 Windows 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目录下的lib或obj文件夹中的所有.dll文件复制到build\bin目录下。
3. macOS 平台编译步骤
3.1 安装 Xcode 与命令行工具
- 从 App Store 安装 Xcode (版本 13.1 或更高)。
- 安装 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头文件。
解决方案:找到报错的文件(通常在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 发布新版本时,你可以轻松更新你的编译版本:
- 进入源码目录:
cd path/to/aseprite - 拉取最新代码并更新子模块:
git pull git submodule update --init --recursive - 建议删除旧的
build目录,然后重新执行 CMake 配置 和ninja aseprite命令,以确保所有更改都被正确应用。
总结
遵循本指南,你可以在 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
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)