Eroare construi Ciudat, problema cu numele clasei?

voturi
0

Fac un proiect scurt, doar pentru a experimenta scris, fără utilizarea de fișiere peniță (doar interes personal, nu pe plan niciodată folosind penițe!).

Am stabilit controler meu app în sus ca delegat NSApp lui. Sub - (void) applicationDidFinishLaunching: (NSNotification *) aNotification, încerc să inițializa interfața.

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

Metoda în 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];

}

Partea comentați este originea erorii 1 care nu apare în editorul de text, doar în panoul „construi“:

<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

Se pare că există o problemă cu aloc / init'ing o instanță aici. Pot declara unul nou foarte bine, adică QTMovieView * test; și nimic nu se plânge. De asemenea, am constatat că acesta face același lucru cu toate celelalte clase QT atunci când încerc să aloc / init-le. Cu toate acestea, am fost în stare să aloc / init NSWindow foarte bine. Cadrul este în proiectul meu și după cum puteți vedea în fișierul meu .h, am inclus QTKit.

Oricine știe ce se întâmplă?

Întrebat 09/03/2009 la 02:57
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
4

Eroarea vei primi este o eroare de legătură - linker ( ld) nu poate găsi codul obiect cadru pentru QTMovieViewclasa. Prin urmare, nu au inclus cadrul QTKit în proiectul dumneavoastră. Dacă credeți că ați, atunci ceva despre ea nu este configurat corect.

Publicat 09/03/2009 la 03:23
sursa de către utilizator

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