Strano errore di generazione, problema con il nome della classe?

voti
0

Sto facendo un progetto breve solo per sperimentare la scrittura senza l'uso di file pennino (solo interesse personale, non pensate di non utilizzare pennini!).

Ho il mio controller app impostato come delegato del NSApp. Under - (void) applicationDidFinishLaunching: (NSNotification *) aNotification, tento di inizializzare l'interfaccia.

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

Metodo 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];

}

La parte commentata è l'origine dell'errore 1 che non appare nel editor di testo, solo nel pannello accumulo:

<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

Sembra che ci sia un problema con alloc / init'ing un'istanza qui. Posso dichiarare un nuovo bene, cioè QTMovieView * prova; e nulla si lamenta. Ho anche scoperto che fa la stessa cosa con tutte le altre classi QT quando provo ad alloc / init loro. Tuttavia, ero in grado di alloc / init NSWindow bene. Il quadro è nel mio progetto e come potete vedere nel mio file h, ho incluso QTKit.

Qualcuno sa cosa sta succedendo?

È pubblicato 09/03/2009 alle 02:57
fonte dall'utente
In altre lingue...                            


1 risposte

voti
4

L'errore che stai ricevendo è un errore di linker - il linker ( ld) non riesce a trovare il codice oggetto quadro per la QTMovieViewcategoria. Pertanto, non è stato incluso il quadro QTKit nel progetto. Se si pensa di aver, quindi qualcosa al riguardo non è impostato correttamente.

Risposto il 09/03/2009 a 03:23
fonte dall'utente

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