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.