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

ted leslie tleslie at tcn.net
Thu Jul 21 00:39:07 EDT 2005

This version (of SDL.NET) has a script directory that you run to make a project for sharpdev or monodev
i made for monodev (all though i have never used it, use slick-edit for dev),
the script assumed the exe would run right away, so i needed to add  "mono " in front of it
as i dont have my kernel mod'd to run a mono.exe right away.
Then when i started monodevelop and loaded in the project it made for me for monodevelop ..
it still has windows pathing in it that caused errors,
Really seems to me this SDL.NET  project is very Windows flavoured!

I don't know monodevelop ......

Can someone build a workable SDL.NET (for/on linux) for me and send it or post it up somewhere?

Having said that, I can't help but think that even this newer version, if i was to sucessfully build it,
wouldn't it too still want to find/link to something other then SDL.dll ?
I dont see all the DllImport attributes in this newer version either ... making me think this isn't
destin to be built  using mono to target linux, but for mono to target .Net on Win32 OS?

Just to be sure here - there is a SDL.NET build FOR Mono on Linux right, if anyone is using it ...
can they please come forward :)   ?


On Thu, Jul 21, 2005 at 03:36:48PM +1200, 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
> Telogis

More information about the Mono-devel-list mailing list