Mischen von Objective-C und C ++

Ich versuche zu mischen, Objective-C mit C++. Wenn ich den code kompilieren, bekomme ich mehrere Fehler.

A. h

#import <Cocoa/Cocoa.h>
#include "B.h"

@interface A : NSView {
    B *b;
}

-(void) setB: (B *) theB;

@end

A. m

#import "A.h"

@implementation A

- (id)initWithFrame:(NSRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        //Initialization code here.
    }
    return self;
}

- (void)drawRect:(NSRect)dirtyRect {
    //Drawing code here.
}

-(void) setB: (B *) theB {
    b = theB;
}

@end

B. h

#include <iostream>

class B {

    B() {
        std::cout << "Hello from C++";
    }

};

Hier sind die Fehler:

/Users/helixed/Desktop/Example/B.h:1:0 /Users/helixed/Desktop/Example/B.h:1:20: error: iostream: No such file or directory
/Users/helixed/Desktop/Example/B.h:3:0 /Users/helixed/Desktop/Example/B.h:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'B'
/Users/helixed/Desktop/Example/A.h:5:0 /Users/helixed/Desktop/Example/A.h:5: error: expected specifier-qualifier-list before 'B'
/Users/helixed/Desktop/Example/A.h:8:0 /Users/helixed/Desktop/Example/A.h:8: error: expected ')' before 'B'
/Users/helixed/Desktop/Example/A.m:26:0 /Users/helixed/Desktop/Example/A.m:26: error: expected ')' before 'B'
/Users/helixed/Desktop/Example/A.m:27:0 /Users/helixed/Desktop/Example/A.m:27: error: 'b' undeclared (first use in this function)

InformationsquelleAutor der Frage LandonSchropp | 2010-04-26

Schreibe einen Kommentar