时间: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

https://cmake.org

直接下载安装,注意选择添加环境变量。(或者自己手动配)

3、下载Ninja

https://github.com/ninja-build/ninja/releases

下最新的就可以。

image-20230111200902776

4、下载Aseprite配套的Skia库(这里是改动过的Skia,要从Aseprite的仓库下)

https://github.com/aseprite/skia/releases

image-20230111201123118

5、下载安装VisualStudio

https://visualstudio.microsoft.com/downloads/

白嫖用户推荐免费社区版,下完以后是个下载器,进去下载安装VisualStudio,选择工作负荷,使用C++的桌面开发,去除自带的Windows 10 SDK

image-20230111201432717

在单个组件中搜索并添加Windows 10 SDK (10.0.18362.0)

image-20230111201829311

第一次安装可以修改安装位置(记得改!不然C盘容易爆!)

image-20230111201920403

6、解压

我的路径E:\OtherTools (仅供参考)

image-20230111203753012

Aseprite路径E:\OtherTools\aseprite

CMake路径E:\OtherTools\AsepriteDependencies\CMake

ninja路径E:\OtherTools\AsepriteDependencies\ninja

skia路径E:\OtherTools\AsepriteDependencies\skia

image-20230111203931991

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完所有子项目。

image-20230111205247364

最优解,不用git clone 直接release界面下载zip压缩包

3、MinGW

需要将MinGW临时从PATH中移除

我是怎么解决问题的?

首先确定报错位置

image-20230111205657776

绯荤粺鎵句笉鍒版寚瀹氱殑鏂囦欢銆?(系统找不到指定的文件?)

ninja报错,找不到指定文件,上面一句并未生成build.ninja文件,那么问题出在CMake

image-20230111205758863

重复看官方文档,发现看漏了

https://github.com/aseprite/aseprite/blob/main/INSTALL.md

image-20230111205946190

万万没想到下载这一步还会错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

发表评论