GodotSteam: Cross-compiled game from linux to windows crashes on startup

Versions of the engine compiled with MinGW seem to crash on windows after initialization, steamworks initializes properly and the game just quits, nothing in the logs.

This is my output:

Godot Engine v3.2.beta.custom_build.12482bf88 - https://godotengine.org
OpenGL ES 3.0 Renderer: Radeon RX Vega

WARNING: set_native_icon: No small icon found, reusing 128x128 @32768 icon!
     At: platform/windows/os_windows.cpp:2845
Setting breakpad minidump AppID = 1216230
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198041958539 [API loaded no]
[INFO] SteamServiceProvider: Steamworks active.

Compiling this natively on windows with MSVC works.

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 96 (44 by maintainers)

Most upvoted comments

Patch is updated!

No rush on my end. Still working on the next update. I will mention the patch in the upcoming MinGW tutorial as well as what is changed particularly.

I’ve been running into issues with godot’s platform detection on msys2’s python distribution so sorry I haven’t been able to confirm anything yet. Probably will finish it some time tomorrow. I at least ran the script and it looked fine, but I’ll still be checking everything on this new machine.

I’ll look at it tonight, (try it again from scratch), could you provide your isteamuser.h file? Also your python version?

FYI @MichaelBelousov Running the script didn’t seem to fix the problem. I copied your isteamuser.h.txt full file and replaced it and that did the trick. There maybe a substitution or something that still needs to happen in the script for it to work.

Patch file is added and this issue should be closed now. If anyone has any further issues, please re-open this issue or create a new one.

I want to go with bash but I think I’ll go with python since it’s easy to install and most people have it cross platform unlike bash with windows users and powershell isn’t popular on linux.

Sure, if you’d like to take it on. Perhaps a new folder called mingw-patch with whatever languages you see fit. If you only do one, you can skip the folder. I’m not sure which languages are most convenient for it.

Yep, I actually just copy and pasted the entire conditional section, here’s the file. isteamuser.h.txt. You could definitely trim it down, but I assumed it would be easier in the tutorial to not separate the conditional branches or something. I suppose for the tutorial you’ll need to provide an exact snippet anyway.

Would you be opposed to ever having a branch of godotsteam (probably if someone volunteers to maintain it) with support for mingw using the header manipulation? I haven’t looked into it a lot yet but I would be very happy if I could compile with mingw and would invest some time in trying to make it possible.

Gdb is the gnu debugger, the native debugger for part of the gnu tools which is often used on Linux for c++ development with gcc. (mingw actually means MINimum Gnu for Windows so in addition to compiling with gcc, you can debug with gdb). I was using the mingw gdb on windows.

for proper scientific method, you must upload the game with all files. pck file, steam_api64.dll, steam_appid.txt and game executable. (maybe we need to see project file too).

so we can reproduce the same error in different pc.