Out of the box 64-bit Skia for Windows built fine on my system (Using Visual Studio 2017 Community on a x64 system).
I know a 32-bit Windows build is not supported but I was able to get Skia to compile by manually editing the toolchain.ninja file and using a script to setup the MSVC x64_x86 environment variables.
Everything compiles fine but when attempting to run HelloWorld.exe it throws an access violation exception.
Comparing the 32-bit version of HelloWorld.exe with the 64-bit version (which runs fine) the exception can be traced to this line in GrGLMakeAssembledGLInterface :
if (!extensions.init(kGL_GrGLStandard, GetString, GetStringi, GetIntegerv, queryString, display)) {
These GrGLFunction objects are constructed with the function pointer constructor in the 64-bit version but the 32-bit version is using the "small closure" constructor.
Anyone have any ideas what could cause this difference in the compiled code?
Thanks,
Frank