In this circumstance, I would replace GNUstep with Apple's CoreFoundation (it's 
open, despite branded with Apple) and lay Cocotron on it, then use GNUstep to 
provide everything that is missing. Cocotron is an implementation of Foundation 
(GNUstep Base) using open sourced code and based on Apple's CoreFoundation. It 
will be less effort to do that if you are using FreeBSD. I have Linux so it is 
a lot more work to do.

发自我的 iPad

在 2013-1-9,1:08,Marcus Müller <[email protected]> 写道:

> 
> On 08.01.2013, at 18:02, Chan Maxthon <[email protected]> wrote:
> 
>> You can mix ARC and non-ARC code, given that those code are placed in 
>> separate files, then link them together. So you can safely implement the 
>> missing link in ARC code using Objective-C categories, and link them 
>> together with non-ARC GNUstep and your project in ARC.
> 
> Sure, but that's not the problem here. The problem is that when you #import 
> "ULINetSocket.h" (in your ARC-ready code), you also drag in references to 
> <CoreFoundation/CoreFoundation.h> from the same code, which gives you 
> something like this:
> 
> In file included from ./ULINetSocket.h:34:
> In file included from /usr/local/include/CoreFoundation/CoreFoundation.h:36:
> In file included from /usr/local/include/CoreFoundation/CFBundle.h:31:
> In file included from /usr/local/include/CoreFoundation/CFURL.h:34:
> /usr/local/include/CoreFoundation/CFString.h:538:15: error: ARC forbids 
> Objective-C objects in structs or unions
>   CFStringRef theString;
> 
> 
> Of course you could get rid of the requirement for CoreFoundation.h in 
> ULINetSocket.h by masking all CF-refs to something opaque, but then again, 
> there's other CF-code missing and so on. Nothing to gain here.
> 
> Cheers,
> 
>   Marcus
> 
> -- 
> Marcus Müller  .  .  .  http://www.mulle-kybernetik.com/znek/
> 
> 
> 
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to