时间:2023/1/11
系统:Win10
作者:1manity
前言:
Aseprite是一款像素画及像素动画编辑器。产品有三个版本,官网版、steam版、源码版。官网和steam版都要收取一笔费用来购买。而该产品开源到了github,可以直接白嫖!(前提是自己花时间来编译)
教程:
1、下载Aseprite
https://github.com/aseprite/aseprite/releases
直接下载压缩包在本地解压是最省事的方法。
注意:如果使用git clone,要使用以下代码
git clone --recursive https://github.com/aseprite/aseprite.git
递归下载子模块,不然不会下全。
2、下载CMake
直接下载安装,注意选择添加环境变量。(或者自己手动配)
3、下载Ninja
https://github.com/ninja-build/ninja/releases
下最新的就可以。
4、下载Aseprite配套的Skia库(这里是改动过的Skia,要从Aseprite的仓库下)
https://github.com/aseprite/skia/releases
5、下载安装VisualStudio
https://visualstudio.microsoft.com/downloads/
白嫖用户推荐免费社区版,下完以后是个下载器,进去下载安装VisualStudio,选择工作负荷,使用C++的桌面开发,去除自带的Windows 10 SDK
在单个组件中搜索并添加Windows 10 SDK (10.0.18362.0)
第一次安装可以修改安装位置(记得改!不然C盘容易爆!)
6、解压
我的路径E:\OtherTools (仅供参考)
Aseprite路径E:\OtherTools\aseprite
CMake路径E:\OtherTools\AsepriteDependencies\CMake
ninja路径E:\OtherTools\AsepriteDependencies\ninja
skia路径E:\OtherTools\AsepriteDependencies\skia
7、编译安装
我使用的安装脚本
找到VsDevCmd.bat,在你 VisualStudio路径\Common7\Tools\VsDevCmd.bat
:: !!请用管理员权限运行!!
@echo off
:: ============配置部分自行修改============
:: VsDevCmd.bat文件位置
set VSDEVC="E:\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
:: (Aseprite)[https://github.com/aseprite/aseprite/releases]
set ASEPRITE="E:\OtherTools\aseprite"
:: (Skia)[https://github.com/aseprite/skia/releases]
set DSKIA_DIR="E:\OtherTools\AsepriteDependencies\skia"
:: (Ninja)[https://github.com/ninja-build/ninja/releases]
set NINJA="E:\OtherTools\AsepriteDependencies\ninja"
:: ============分割线============
:: ============以下谨慎修改============
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 .. -DCMAKE_IGNORE_PATH=E:\MinGW\bin
ninja aseprite
echo Finish
if exist bin explorer bin
pause
如果你电脑的环境变量含有MinGW需要去除该环境变量。我的是E:\MinGW\bin
以管理员身份运行。等待片刻后在E:\OtherTools\aseprite\build\bin里可以找到编译完成的可执行文件aseprite.exe
以上
遇到的坑
1、直接git clone 了aseprite的仓库,导致子模块没下载全
git submodule update --init --recursive1
如果你不确定子模块是否都已经下载完全了,也可以执行一遍这个以上命令
2、下载子模块时
Failed to connect to github.com port 443: Timed out
OpenSSL SSL_read: Connection was reset, errno 10054
git错误,可使用镜像站。文件夹中有个隐藏文件称为:.gitmodules,把子项目中的url地址同样改为镜像站地址,如https://github.com/aseprite/pixman.git,然后利用git submodule sync更新子项目对应的url,最后再git submodule update --init --recursive,即可正常网速clone完所有子项目。
最优解,不用git clone 直接release界面下载zip压缩包
3、MinGW
需要将MinGW临时从PATH中移除
我是怎么解决问题的?
首先确定报错位置
绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆?(系统找不到指定的文件?)
ninja报错,找不到指定文件,上面一句并未生成build.ninja文件,那么问题出在CMake
重复看官方文档,发现看漏了
https://github.com/aseprite/aseprite/blob/main/INSTALL.md
万万没想到下载这一步还会错QAQ
参考文章
https://www.bilibili.com/read/cv17245920
https://blog.qty10.tech/2021/08/zh-CN/AsepriteProblems/
https://blog.csdn.net/u013553529/article/details/78307072
https://blog.csdn.net/m0_37604813/article/details/107130881
本文首发于:https://1manity.top