Mono SDL2-CS不在OS X上工作

Mono SDL2-CS不在OS X上工作,mono,32bit-64bit,sdl-2,Mono,32bit 64bit,Sdl 2,我试图使用SDL2 C#绑定(SDL2-CS),但出于某种原因,Mac版Mono找不到该库libSDL2-2.0.0。dylib安装在/usr/local/lib/中,我已经将它添加到$DYLD\u LIBRARY\u PATH,但我仍然得到一个系统。DLLNotFoundException。我怎样才能让它工作呢?在OS X上,Mono通常是32位的,通过MacPorts或源代码构建进行安装将产生64位二进制文件。这很可能是问题的根源,您可以通过设置export MONO\u LOG\u LEV

我试图使用SDL2 C#绑定(SDL2-CS),但出于某种原因,Mac版Mono找不到该库
libSDL2-2.0.0。dylib
安装在
/usr/local/lib/
中,我已经将它添加到
$DYLD\u LIBRARY\u PATH
,但我仍然得到一个
系统。DLLNotFoundException
。我怎样才能让它工作呢?

在OS X上,Mono通常是32位的,通过MacPorts或源代码构建进行安装将产生64位二进制文件。这很可能是问题的根源,您可以通过设置
export MONO\u LOG\u 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
现在只需
进行安装
,您就可以开始了