20250413更新
本文参考1:[Aseprite 白嫖编译指南 - 哔哩哔哩](https://blog.csdn.net/purlifed/article/details/109343365)
本文参考2:[自己动手,从源码构建Aseprite! - 哔哩哔哩](https://www.bilibili.com/opus/871630459893710871)
本文参考3:[Aseprite编译教程 - 知乎](https://zhuanlan.zhihu.com/p/369309964)
Aseprite是一种专有的开源可用的图像编辑器,主要用于像素画图和动画。它可以在Windows,macOS和Linux上运行,并具有用于图像和动画编辑的不同工具,例如图层,框架,tilemap支持,命令行界面,Lua脚本等。原文来自:Aseprite 维基百科(https://en.wikipedia.org/wiki/Aseprite)
- 使用Aseprite可以更便捷的做出像素风格的图片及Gif ,开发2D游戏必备
- 可以在其官网(https://www.aseprite.org/#buy)售价在 $19.99刀或Steam商城 (<https://store.steampowered.com/app/431730/Aseprite) ¥70元购买并支持该软件。
- 官方很贴切的提供了开源代码(https://github.com/aseprite/aseprite),可自行编译成exe免费使用,方便学生党、白嫖党以及经济能力不足人来使用 Aseprite 。
- 并且官方贴心地还在其FAQ(https://www.aseprite.org/faq/)中特地指出,即使是自行编译的版本(就是下面要介绍的白嫖版本)所产出的作品都可以用于个人或商业使用。原文:Yes, you can use your own creations (sprites, animations, graphics, assets, etc.) in any product (personal or commercial) you want. Even with compiled versions of Aseprite you can create art for your personal/commercial purposes.(https://www.aseprite.org/faq/#can-i-sell-graphics-created-with-aseprite)
目录
支持的平台
您可以在以下平台成功编译 Aseprite:
- Windows 11 + Visual Studio Community 2022 + Windows 10.0 SDK(最新版本)(不支持 MinGW)
- macOS 13.0.1 Ventura + Xcode 14.1 + macOS 11.3 SDK(旧版本可能兼容)
- Linux Ubuntu Bionic 18.04 + clang 10.0
获取源代码
从最新版 Aseprite 发布页下载 Aseprite-v1.x-Source.zip
文件:(推荐稳定版,不要用最新版)
👉 https://github.com/aseprite/aseprite/releases
(解压后请按照压缩包内的编译说明操作)
* 这里推荐下载Release版,不要下载beta版,避免有意料外的bug。这里以**Aseprite-v1.3.13-Source**版为例
* 由于一些国情原因GitHub访问速度一直不太稳定Git经常链接断断续续,外加不是所有人都会用Git。速度问题网上有很多解决方案如油猴插件之类的个人一直使用*Github 增强 - 高速下载 by X.I.U*
通用依赖项
编译 Aseprite 需要:
-
1、CMake 最新版(3.16 或更高)(建议使用3.x的版本,不要使用4.0的版本,可能会报错),安装时注意记得要选择全局添加 Path ,在系统环境变量下检查path是否添加上,若未添加,可手动新建
-
-
2、Ninja 构建系统(下载后解压 Ninja.exe 到某个地方方便寻找即可,把程序名称改成开头大写,Ninja.exe)
-
3、已编译的 Skia 库
aseprite-m102
分支(建议使用102,不要用较新的debug版本) -
4、根据不同系统所需的不同依赖项,见下文,如windows需要VS环境安装SDK
1.1 Windows 依赖项
-
Windows 10/11(不支持交叉编译)
-
在 Visual Studio 安装器中勾选:
“使用 C++ 的桌面开发” + **Windows 10.0.18362.0 SDK **(安装时只保留这一个SDK,不要存在多个SDK)([图示参考]
* -
若安装时选错了SDK的版本,可以在开始菜单搜索Visual Studio Installer,修改组件
1.2 Windows 详细说明
-
打开 VS 2022 开发人员命令提示符(开始菜单中搜索打开
x64 Native Tools Command Prompt for VS 2022
),或手动在命令行中加载:call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" -arch=x64
(使用 32 位 Skia 时需切换至 32 位命令提示符。)
-
在弹出的VS命令行窗口执行编译命令:倒数第二行命令的最后,有两个点很重要,不要漏复制了。
cd aseprite mkdir build cd build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=C:\deps\skia -DSKIA_LIBRARY_DIR=C:\deps\skia\out\Release-x64 -DSKIA_LIBRARY=C:\deps\skia\out\Release-x64\skia.lib -G Ninja .. ninja aseprite
其中
C:\deps\skia
为 Skia文件夹路径,如将Aseprite-v1.3.13-Source.zip解压到Test文件夹,则需将C:\deps\skia
替换为F:\Test\Aseprite-v1.3.13-Source
,根据个人解压的实际地址进行修改。编译完成后,在build\bin文件夹中可以找到输出的.exe程序
1.3 MinGW 兼容性说明
- 不支持 MinGW 编译器**。若 CMake 误检测到 MinGW(如
C:\MinGW\bin\c++.exe
),需从PATH
环境变量中移除 MinGW 路径,或通过以下命令强制使用 VS 编译器:
cmake -DCMAKE_IGNORE_PATH=C:\MinGW\bin ...
2.1 macOS 依赖项
需安装 macOS 11.3 SDK 和 Xcode 13.1(旧版本可能兼容)。
2.2 macOS 详细说明
执行以下命令(注意调整 CMAKE_OSX_SYSROOT
路径):
cd aseprite
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_OSX_ARCHITECTURES=x86_64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
-DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk \
-DLAF_BACKEND=skia \
-DSKIA_DIR=$HOME/deps/skia \
-DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-x64 \
-DSKIA_LIBRARY=$HOME/deps/skia/out/Release-x64/libskia.a \
-G Ninja \
..
ninja aseprite
Apple Silicon 设备(M1 等)
需修改 cmake
参数为 ARM64 架构:
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_OSX_ARCHITECTURES=arm64 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 \
...
Retina 显示屏问题
参考:issue #589
3.1 Linux 依赖项
Ubuntu/Debian 用户安装:
sudo apt-get install -y g++ clang libc++-dev libc++abi-dev cmake ninja-build libx11-dev libxcursor-dev libxi-dev libgl1-mesa-dev libfontconfig1-dev
若系统 clang 版本低于 10.0,需额外安装:
sudo apt-get install -y clang-10 libc++-10-dev libc++abi-10-dev
Fedora 用户安装:
sudo dnf install -y gcc-c++ clang libcxx-devel cmake ninja-build libX11-devel libXcursor-devel libXi-devel mesa-libGL-devel fontconfig-devel
Arch 用户安装:
sudo pacman -S gcc clang libc++ cmake ninja libx11 libxcursor mesa-libgl fontconfig libwebp
SUSE 用户安装:
sudo zypper install gcc-c++ clang libc++-devel libc++abi-devel cmake ninja libX11-devel libXcursor-devel libXi-devel Mesa-libGL-devel fontconfig-devel
3.2 Linux 详细说明
需使用 clang 和 libc++ 编译:
cd aseprite
mkdir build
cd build
export CC=clang
export CXX=clang++
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_CXX_FLAGS:STRING=-stdlib=libc++ \
-DCMAKE_EXE_LINKER_FLAGS:STRING=-stdlib=libc++ \
-DLAF_BACKEND=skia \
-DSKIA_DIR=$HOME/deps/skia \
-DSKIA_LIBRARY_DIR=$HOME/deps/skia/out/Release-x64 \
-DSKIA_LIBRARY=$HOME/deps/skia/out/Release-x64/libskia.a \
-G Ninja \
..
ninja aseprite
福利:自动编译脚本-windows11系统
:: !!请用管理员权限运行!!
@echo off
:: ============配置部分自行修改============
:: ============请根据自己下载的各依赖性文件,自行修改文件地址============
:: VsDevCmd.bat地址
set VSDEVC="C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
:: (Aseprite文件地址)[https://github.com/aseprite/aseprite/releases]
set ASEPRITE="F:\Test\Aseprite-v1.3.13-Source"
:: (Skia文件地址)[https://github.com/aseprite/skia/releases]
set DSKIA_DIR="F:\Test\Skia-Windows-Release-x64"
:: (Ninja文件地址)[https://github.com/ninja-build/ninja/releases]
set NINJA="F:\Test\ninja-win"
:: ============分割线============
:: ============以下谨慎修改============
set PATH=%NINJA%;%PATH%
call %VSDEVC% -arch=x64
cd /d %ASEPRITE%
if exist build rd /s /q build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLAF_BACKEND=skia -DSKIA_DIR=%DSKIA_DIR% -DSKIA_LIBRARY_DIR=%DSKIA_DIR%\out\Release-x64 -DSKIA_LIBRARY=%DSKIA_DIR%\out\Release-x64\skia.lib -G Ninja ..
ninja aseprite
echo Finish
if exist bin explorer bin
pause
将以上脚本保存为.bat文件,和另外的依赖项文件按以下目录层级放在一起,以管理员身份运行。
在运行结束后,在F:\Test\Aseprite-v1.3.13-Source\build\bin,目录下,会编译完成的.exe程序