• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: C Sharp?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Follow-Ups:
    • Re: C Sharp?
      • From: Dave <email@hidden>
References: 
 >C Sharp? (From: Dave <email@hidden>)
 >Re: C Sharp? (From: Sixten Otto <email@hidden>)
 >Re: C Sharp? (From: Dave <email@hidden>)
 >Re: C Sharp? (From: Jens Alfke <email@hidden>)
 >Re: C Sharp? (From: Dave <email@hidden>)
 >Re: C Sharp? (From: Dave <email@hidden>)

  • Prev by Date: Re: C Sharp?
  • Next by Date: Re: C Sharp?
  • Previous by thread: Re: C Sharp?
  • Next by thread: Re: C Sharp?
  • Index(es):
    • Date
    • Thread