'Segfault on some steam_api.dll calls from executable compiled with MinGW GCC. Any way to determine which DLL is loaded?
I am making a C++ game and integrating Steam's API on Windows MinGW GCC via MSYS2 environment. I am successfully linking to the library, and some of the functions run properly.
I am able to initialize steamworks and run SteamFriends()->GetPersonaName(), and it returns my own steam user as expected.
However, when I run SteamUser()->GetSteamID() it gives me a segfault. Upon debugging, I have found that SteamUser() returns an address (it is not NULL), but the address does not address a valid ISteamUser class/struct. I am beginning to believe that perhaps the DLL that windows loads for steam_api is not the one which I linked for.
Is there any way to determine this? Also does anyone have any other debug methodologies they would use to try to identify the problem?
I have also compiled an identical application using visual studio and it does not experience the segfault, so I have isolated the issue to something external to my code for certain, probably relating to the way the DLL is linked.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
