Weird bygge feil, problemet med klassenavnet?

stemmer
0

Jeg gjør en kort prosjekt bare for å eksperimentere skriftlig uten bruk av NIB-filer (bare personlig interesse, ikke har planer om å aldri bruke nibs!).

Jeg har min app-kontrolleren satt opp som NSApp delegat. Under - (void) applicationDidFinishLaunching: (NSNotification *) aNotification, prøver jeg å initialisere grensesnittet.

AppController.h:

#import <Cocoa/Cocoa.h>
#import <QTKit/QTKit.h>

@interface AppController : NSObject {

NSWindow* mainWindow;
QTMovieView* movieView;
QTCaptureSession* mainSession;
QTCaptureMovieFileOutput* output;
QTCaptureDeviceInput* video;
QTCaptureDeviceInput* audio;

}

+ (void)initialize;
- (id)init;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification;

@end

Metode AppController.m

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {


//Proceed to initialize the entire interface:

mainWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(500, 300, 700, 500)
styleMask:(NSTitledWindowMask|NSClosableWindowMask|
  NSMiniaturizableWindowMask|NSResizableWindowMask) 
backing:NSBackingStoreBuffered
defer:NO];

[mainWindow setTitle:@Record a movie!];

/*movieView = [[QTMovieView alloc] initWithFrame:NSMakeRect([[mainWindow contentView] bounds].origin.x + 5, 
                                                [[mainWindow contentView] bounds].origin.y + 30,
                                                    [[mainWindow contentView] bounds].size.width - 10, 
                                                    [[mainWindow contentView] bounds].size.height - 35)];*/

[[mainWindow contentView] addSubview:movieView];

[mainWindow makeKeyAndOrderFront:NSApp];

}

Den delen kommentert ut er opphavet til en feil som ikke vises i tekstredigeringsprogram, bare i build panel:

<pre> .objc_class_name_QTMovieView, referenced from:  
literal-pointer@_OBJC@_cls_refs@QTMovieView in AppController.o
symbol(s) not found
collect2: Id returned 1 exit status

Det synes å være et problem med Alloc / init'ing en forekomst her. Jeg kan erklære en ny helt fint, det vil si QTMovieView * test; og ingenting klager. Jeg har også funnet ut at det gjør det samme med alle de andre QT klasser når jeg prøver å Alloc / init dem. Men jeg var i stand til å Alloc / init NSWindow helt fint. Rammeverket er i mitt prosjekt, og som du kan se i min .h fil, jeg inkludert QTKit.

Alle vet hva som skjer?

Publisert på 09/03/2009 klokken 01:57
kilden bruker
På andre språk...                            


1 svar

stemmer
4

Feilen du får er en linker feil - det linker ( ld) kan ikke finne rammene objektkoden for QTMovieViewklassen. Derfor har du ikke tatt den QTKit rammene i prosjektet. Hvis du tror du har, så noe om det ikke er satt opp riktig.

Svarte 09/03/2009 kl. 02:23
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more