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.