Question

so im thinking about porting some logic written for my ios app to the server. I am building a view hierachy and then rasterizing it to bitmaps

I have used chameleon to successfully port the relevant bits to mac os.

and now I would like to try porting this to ubuntu using since GNUstep has an open implementation on AppKit. I managed to get the hello world app working. However, It seemed strange to me than the following throws errors on compiling.

#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>

int main (int argc, const char * argv[])
{
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    [NSApplication sharedApplication];
        NSRunAlertPanel(@"Random",@"hello from GNUStep Appkit!",@"close this window",@"Another Button",nil);
    NSView *view = [[NSView alloc]init];
    view.layer;
    CGRect rect;
        [pool drain];
        return 0;
}

Errors:

hello.m: In function ‘main’:
hello.m:10:6: error: request for member ‘layer’ in something not a structure or union
hello.m:11:2: error: unknown type name ‘CGRect’

It seems strange to me that these errors should be thrown, as I believed coregraphics to sit below AppKit. Am I missing a particular module in gnustep?

Was it helpful?

Solution

As far as I know, CoreGraphics is not implemented in GNUstep; I believe though that Cocotron has an implementation.

The error error: request for member ‘layer’ in something not a structure or union refers to the expression view.layer, which you intended to return the layer property from the view object. That syntax is from Objective-C 2.0, which wasn't supported out of the box with GNUstep, last I knew; check ObjC2FAQ for information about enabling it (and what its limitations on GNUstep are).

In the meantime, you can instead use the original Objective-C syntax: [view layer].

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top