我正在尝试使用SDL2 C#绑定(SDL-2-CS),但出于某种原因,Mac版本的Mono没有找到库。libSDL2-2.0.0.dylib安装在/usr/local/lib/中,我已经将它添加到$DYLD_LIBRARY_PATH中,但我仍然得到一个System.DLLNotFoundException。我怎么才能让这个起作用?
发布于 2014-04-25 03:44:00
在OS上,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,你就可以走了!
https://stackoverflow.com/questions/23283769
复制相似问题