I discovered Crystal some time ago and tried using it on my Linux notebook. This works fine, so I thought with the arrival of version 1.0, there should be a way using it on Windows (at least for hobby purposes).
I tried both suggested ways: either cross-compiling from scratch on a Linux host, or using the artifacts from Github CI with a precompiled
crystal.exe (and libraries). Both ways showed me the same error message on executing any cross-compiled .exe file:
The procedure entry point “GetCurrentThreadStackLimits” could not be located in the dynamic link library KERNEL32.dll
crystal.exe itself prints out this message and stops, so this is no compilation problem on my side, but an executing problem.
From the porting guide I tried compiling the helloworld program, which gives no errors on compiling or linking but on running the resulting
.exe file. So I assume the cross-compiled .obj file is just not working on my Windows 7, which might originate in LLVM or some settings for it when using the switches
-cross-compile --target x86_64-pc-windows-msvc.
On Windows 10 both the precompiled
crystal.exe as well as my
helloworld.exe (linked on Windows 7) execute just fine.