Dedicated servers don't have Steam running in the background so they need extra native libraries to bring along the functionality.
So as well as the regular steam_api libraries, on Windows you also need to ship these:
When you ship a dedicated server you're meant to include appid 1007 - which includes these dlls already (something you need to talk to Valve about I think).
We find it a lot easier to ship the dlls ourselves. That way if something breaks we're not wondering whether it was because Valve update appid 1007 and we have no way to revert to the previous version.
We grab these dlls using steamcmd, using these scripts. Osx doesn't seem to be able to run dedicated servers.
Grabs the Windows version of the repo
Grabs the linux version of the repo (you don't have to run this on linux)