[Mac OS X] libsteam_api.dylib runtime linking error

smaddock
Sun, 14 Feb 2016 08:43:47 +0000
Platform & Builds

I’ve recently started working on compiling my project for Mac OS X and I’m having trouble getting Steam to work when launching the game.

My code attempts to call SteamApps() which gives the following error:

dyld: lazy symbol binding failed: can’t resolve symbol _SteamApps in /Unreal Projects/My Game/Binaries/Mac//UE4Editor-MyGameModule.dylib because dependent dylib #3 could not be loaded

MyGameModule has “Steamworks” as a third-party private static dependency and “OnlineSubsystemSteam” as a private module dependency. It also includes the necessary Steam headers in MyGameModulePrivatePCH.h.

I’m unaware of any requirements besides copying libsteam_api.dylib into UnrealEngine/Binaries/Mac/UE4Editor.app/Contents/MacOS.

Edit:
It seems that the game module is trying to load libsteam_api.dylib from /Unreal Projects/My Game/Binaries/Mac/ instead of UnrealEngine/Binaries/Mac/UE4Editor.app/Contents/MacOS. After placing the library into the game binaries directory, it loads the library fine, but calls to the Steam API fail since it hasn’t been initialized. Ideally, I’d like to only use one binary.

5 posts - 1 participant