Problem compiling on Windows - seems to be due to system architecture?


#1

I decided to try to compile Aseprite on Windows. I had tried to do so previously over a year ago, and failed, but I don’t remember why. This time I managed to successfully complete all of the steps in the INSTALL.md, except for the very last one, ninja aseprite.

I’m not sure exactly what went wrong, but the final few lines are:
FAILED: bin/aseprite.exe
[snip]
LINK : warning LNK4044: unrecognized option '/LINK'; ignored
LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
skia.lib(skia.SkColor.obj) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
LINK Pass 1 failed. with 1112
ninja: build stopped: subcommand failed.

The [snip] line is this: https://pastebin.com/EvHuF8pR

It seems like it has something to do with my system architecture. Can Aseprite only be built on x86 machines? That doesn’t make much sense.

One more thing that might be worth mentioning is that I had a lot of lines like this:
..\src\app\script\sprite_class.cpp(592): warning C4244: 'initializing': conversion from 'lua_Integer' to 'const int', possible loss of data

There may have been other things, but my command prompt does not scroll back far enough.

Any ideas on why this happens and how to fix it would be greatly appreciated :slight_smile:


#2

you can try doing this

call “C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat” -arch=amd64

it adds the arch bit at the end at the call part here https://github.com/aseprite/aseprite/blob/master/INSTALL.md#skia-on-windows


#3

Thank you, this worked. I had to delete all the files from the first attempt and start over, but other than that everything worked great.


#4

Good. I think @dacap might want to add a note about this in the install.md because I have an inkling it’s going to get reported a lot.


#5

Yeah, I’ll add something about this in the INSTALL.md guide :+1: