Re: C Sharp?
Re: C Sharp?
- Subject: Re: C Sharp?
- From: Jonathan Mitchell <email@hidden>
- Date: Thu, 16 Jul 2015 12:48:59 +0100
Hi Dave
> On 16 Jul 2015, at 12:13, Dave <email@hidden> wrote:
>
> Hi All,
>
> It seems that the Mono Framework is 32 Bit and needs to be recompiled for 64 Bit.
>
> I’m a bit confused by this, does it mean that I need to Build Mono from http://www.mono-project.com/Compiling_Mono_on_OSX or does it mean I do the munging above on a copy of the 32 Version that I’ve already got installed?
I built Dubrovnik (based on Dumbarton) so I know how confusing it can be to make some initial headway with this.
You need a working 64 bit build as detailed on http://www.mono-project.com/Compiling_Mono_on_OSX
Its not that hard in my experience - though build instructions sometimes don’t get updated often enough and you can be pulling you hair out pronto.
I haven’t built it in a while though as I have been using quite an old build for a while though - I could do with a build update too.
Check out the current state of the Mono binary release - they may be shipping a 64/32 bit build by now (I think this was being held off because some of the Xamarin IDE products were still using Carbon APIs).
Install the Mono binary and checkout /Library/Frameworks/Mono.framework
Use the file(1) command to query the library - note that version numbers in the path below will be different for a modern build.
file /Library/Frameworks/Mono.framework/Versions/3.12.1/lib/libmonoboehm-2.0.1.dylib
/Library/Frameworks/Mono.framework/Versions/3.12.1/lib/libmonoboehm-2.0.1.dylib: Mach-O dynamically linked shared library i386
A Mono installation includes a whole toolchain.
A minimal runtime environment is tiny by comparison (in my app it is < 20MB).
It comprises:
1. The runtime library. The actual runtime libs are libmonoboehm-xxx and libmonosgen-xxx representing the two different GC schemes.
2. A few config files such as machine.config.
3. mscorlib.dll
4. The actual core managed assemblies used by your solution. Generally a subset of what is in lib/mono/gac
Note that I had to rename my custom 64 bit build in order for it to co-exist with the default 32 bit only framework.
Dubrovnik links again this.
It can take some effort to get all the required ducks in a row here.
All of this is only necessary if you really want to code in Obj-C.
For a simple app I would use the Xamarin bindings.
For lots of reasons I didn’t want to go down the Xamarin route and it has worked out okay.
My app has hundreds of nibs and thousands of bindings.
Like you the managed Assemblies I am targeting have been under development for years and we need to share that code base.
Contact me off list if you need to.
Jonathan
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden