[Mono-list] Can't get a simple shared object to be used - DllNotFoundException
Jonathan Pryor
jonpryor at vt.edu
Wed Jul 31 02:33:40 UTC 2013
On Jul 30, 2013, at 5:34 PM, Stifu <stifu at free.fr> wrote:
> I've never done that myself, but if I remember correctly, you're not supposed to add the ".so" part. Just do [DllImport("libshared")].
Close; you should prefer [DllImport("shared")], with one exception. On Windows, this will try to load SHARED.DLL, on Linux it will load libshared.so, and on OS X it will load libshared.dylib.
The exception is that if the library name contains a '.', Windows LoadLibrary() will not automatically append a .DLL extension, so this would always fail:
[DllImport("gtksharp-2.0")]
In these cases, you should use the full Windows filename, and provide a .dll.config file so that the file can be found on other platforms:
[DllImport("libgtksharp-2.0.dll")]
- Jon
More information about the Mono-list
mailing list