SDL2-CS无法在OS X上运行

时间:2014-04-25 03:44:00

标签: mono 32bit-64bit sdl-2

我正在尝试使用SDL2 C#绑定(SDL2-CS),但出于某种原因,Mac版的Mono没有找到该库。 libSDL2-2.0.0.dylib已安装/usr/local/lib/,我已将其添加到$DYLD_LIBRARY_PATH,但我仍然收到System.DLLNotFoundException。我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

在OS X上,Mono通常为32位,通过MacPorts或源代码构建进行安装将产生64位二进制文​​件。这很可能是问题的根源,您可以通过设置export MONO_LOG_LEVEL=debug进行检查。如果您看到类似的内容:

Mono: DllImport error loading library 'dlopen(/usr/local/lib/libSdl-2.0.0.dylib, 9): no suitable image found.
Did find: /opt/local/lib/libSdl-2.0.0.dylib: mach-o, but wrong architecture'.

那么这就是你的问题。在32位模式下从源编译SDL2,如下所示:

$ export CFLAGS="-arch i386"
$ export LDFLAGS="-arch i386"
$ ./configure
$ make

并且只是为了确保它是正确的,运行:

$ file build/.libs/libSDL2-2.0.0.dylib

应导致:

$ build/.libs/libSDL2-2.0.0.dylib: Mach-O dynamically linked shared library i386

现在只是make install,你应该好好去!