Dziwny błąd kompilacji, problem z nazwą klasy?

głosy
0

Robię krótki projekt tylko do eksperymentowania pisanie bez użycia plików NIB (tylko interes osobisty, nie planuje na nie za pomocą stalówki!).

Mam app kontroler ustawiony jako delegat NSApp użytkownika. Under - (void) applicationDidFinishLaunching: (*) aNotification NSNotification, próbuję zainicjować interfejs.

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

Sposób 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];

}

Część wykomentowane jest źródłem błędu 1, który nie pojawia się w edytorze tekstowym, tylko w „Build” panelu:

<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

Wydaje się, że problem z Alloc / init'ing wystąpienie tutaj. Mogę zadeklarować nowego porządku, tzn QTMovieView * Test; i nic nie narzeka. Ja również okazało się, że robi to samo ze wszystkimi innymi klasami QT gdy próbuję Alloc / init nich. Jednak udało mi się Alloc / init NSWindow dobrze. Ramy jest w moim projekcie i jak widać w moim .h pliku, włączyłem QTKit.

Ktoś wie co się dzieje?

Utwórz 09/03/2009 o 02:57
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
4

Błąd dostajesz to błąd linkera - łącznik ( ld) nie może znaleźć ramową kod wynikowy dla QTMovieViewklasy. W związku z tym nie zostały uwzględnione ramy QTKit w projekcie. Jeśli uważasz, że masz, to coś nie jest prawidłowo skonfigurowany.

Odpowiedział 09/03/2009 o 03:23
źródło użytkownik

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