[Mono-devel-list] mono SDL linux/win32 SDL.DLL - my brain hurts!

David Mitchell david.mitchell at telogis.com
Wed Jul 20 23:39:48 EDT 2005

Oh, and you'll also want to make sure SDL (http://www.libsdl.org) is 
installed on your machine.


David Mitchell wrote:
> Try this:
> http://prdownloads.sourceforge.net/cs-sdl/SdlDotNet-3.1.2-1.zip?download
> Looks like the latest linux version to me.
> David
> ted leslie wrote:
>> (After my preamble, I am essentially asking .. how does a wrapper to 
>> .Net/Mono work .....)
>> There must not be to many people writting cross platform apps
>> that need sound? Searching for sound (audio, mp3, sound) on 
>> mono-project.com via mail list, etc
>> returns almost nothing.
>> Anyways I came across SDL on the Resources page!!!! wow!!! this will 
>> solve my problems!
>> I go to   cs-sdl.sourceforge.net
>> and check it out, It has SDL.NET for Win32 and Linux (mono is 
>> supported, it says)
>> So i download the support libraries for SDL.NET which are the 
>> traditional SDL libs .. put them on Win32 and updated
>> my ones on my Suse box.
>> I ran the Examples just fine on Win32
>> Now on to Linux and Mono ...............
>> First off the latest SDL.NET downloads on sourceforge seem to be for 
>> Win32 only (as an aside they have a nice installer that does 
>> everything for you on the Win32 side of things)
>> So i dig back a COUPLE years and get a gz file (of SDL.NET) that has 
>> linux support
>>     (incidently i see screen caps in SDL.NET project page of SDL apps 
>> running on linux so even thought
>>         the linux support in the project seems old, it infact looks 
>> like it run and works)
>> I build the SDL.NET on Linux (using latest stable release Mono), but 
>> there is an error in the Makefile,
>> the pathing slash is of the windows variety (hmmmmm...?), so i fix 
>> that and Makefile the SDL.NET DLL's
>> and the examples.
>> The Examples compile/build fine but the give a Mono runtime error that 
>> they can't
>> find System DLL:SDL.dll
>>> --An exception was thrown by the type initializer for SdlDotNet.Music 
>>> ---> System.DllNotFoundException: SDL.dll
>> So this is were I hit a dead end because I don't know anything about 
>> .Net/C# wrappers to traditional C based libraries on Linux.
>> I looked at the gtk-sharp wrapper (cause i know it works), I see a 
>> mixer of C and CS files and traditional
>> gcc references in makefiles, but basically it looks like a big job to 
>> figure out gtk-sharp's process of a wrapper.
>> On that note, is there a doucmentation section somewhere on that - 
>> i.e. building wrappers?
>> To me, I am thinking in the end SDL.NET has to get hold of the 
>> routines in the
>> SDL ".so" file right? how does that happen? I know how it happens in a 
>> traditional C/gcc compile, link, create a .so file, and compile your 
>> apps with dynamic support againt the ".so" ....  what bit of magic get 
>> Mono to see/do that (with its wrapper)?
>> I check around the SDL.NET code and see in the Natives.cs file this:
>>                 const string SDL_DLL = "SDL";
>>                 const string MIX_DLL = "SDL_mixer";
>>                 // General
>>                 [DllImport(SDL_DLL, 
>> CallingConvention=CallingConvention.Cdecl), 
>> SuppressUnmanagedCodeSecurity]
>>                 public static extern int SDL_Init(int flags);
>> which I am thinking is pretty key to the process ...
>> but why reference   SDL.DLL  ... I don't have that on Linux, thats on 
>> Win32.
>> Anyone shed light?
>> Also, would it be a hard job making the same wrapper to the SDL lib on 
>> MAC-OSX to complete a good cross-platfrom
>> SDL.NET class for Mono ?
>> -tl
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list

David Mitchell
Software Engineer

More information about the Mono-devel-list mailing list