There's a stack overflow thread that appears to talk about this issue but the suggested fix is to just use the second option presented in the above link. Both seem to end complaining about unresolved symbols.
There's a Reddit thread here from there years ago with the same issues:
mainCRTStartup is the real entry point of the executable. This function is normally provided by libc and initializes libc before calling the main function written by the user. When using #![no_std] by default libc isn't linked in. You can either tell rustc to link it yourself or write mainCRTStartup yourself. Note that it must be an extern "stdcall" function.