Nevermind, I finally figured out the issue. I’m using .NET Core 2.0 and dllmap is a Mono function, so the mapping between native libraries on different platforms is not working. Therefore, the game was still looking for a .dll file instead of a .dylib. There is a simple workaround to resolve this until Microsoft adds this functionality to .NET Core:
- Remove the .dll extension of the “nativeLibName” variable in each wrapper file. E.g. in SDL2.cs the value of nativeLibName is changed from “SDL2.dll” to just “SDL2”. This doesn’t cause any problems because it is actually not necessary to specify the extension.
- Change the default name of each native library to the value of the corresponding nativeLibName. E.g. on Mac libSDL2-2.0.0.dylib has to be changed to simply SDL2.dylib.
- Everything should now work!
More info: https://github.com/FNA-XNA/FNA/issues/145