Error: 'class SkCanvas' has no member named 'drawBitmapRect'


i’m trying to compile aseprite version 1.3 but it’s giving me this error…
idk how to fix it and i’ve searched for my error on the forums but no matter what i try it won’t compile. Building it works perfectly fine aside from a few errors but when ever i try to use the ninja command to compile it, it stops around 1465 lines, tries to do something and then gives me this error

Hello there, I ran into the same Issue. The error was, that I downloaded the wrong Skia Release. Under the following Link

I had to choose the correct Skia Release, in my case “Skia-m81” from the 11th March 2020, “Skia-Windows-Release-x86.zip”.

Initially I ran into the described problem when using the Skia-m96 Skia-Windows-Release-x64 Release, after that I had a look at the sources and found that these missing functions are present in the Skia-m81 Release, so I just tried that. Since I thought I would be building for x64 I took the Skia-m81 Skia-Windows-Release-x64 but then I got linker errors that looked like this:

[...]
laf-gfx.lib(region_skia.cpp.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall SkRegion::SkRegion(class SkRegion const &)" (??0SkRegion@@QAE@ABV0@@Z)".
laf-gfx.lib(region_skia.cpp.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall SkRegion::SkRegion(struct SkIRect const &)" (??0SkRegion@@QAE@ABUSkIRect@@@Z)".
laf-gfx.lib(region_skia.cpp.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: class SkRegion & __thiscall SkRegion::operator=(class SkRegion const &)" (??4SkRegion@@QAEAAV0@ABV0@@Z)".
laf-gfx.lib(region_skia.cpp.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: bool __thiscall SkRegion::setRect(struct SkIRect const &)" (?setRect@SkRegion@@QAE_NABUSkIRect@@@Z)".
laf-gfx.lib(region_skia.cpp.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: bool __thiscall SkRegion::intersects(struct SkIRect const &)const " (?intersects@SkRegion@@QBE_NABUSkIRect@@@Z)".
laf-gfx.lib(region_skia.cpp.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: bool __thiscall SkRegion::contains(struct SkIRect const &)const " (?contains@SkRegion@@QBE_NABUSkIRect@@@Z)".
laf-gfx.lib(region_skia.cpp.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall SkRegion::Iterator::Iterator(class SkRegion const &)" (??0Iterator@SkRegion@@QAE@ABV1@@Z)".
bin\aseprite.exe : fatal error LNK1120: 91 nicht aufgelöste Externe
ninja: build stopped: subcommand failed.

Then I found out that apparently x86 will be build by default, so I just tried the x86 Release of Skia.

I successfully compiled the following two versions of aseprite with the aforementioned Skia package:
1.2.30
1.3-beta7

1 Like