Weird-Build-Fehler, Problem mit Klassennamen?

stimmen
0

Ich bin ein kurzes Projekt tue nur schriftlich zu experimentieren, ohne die Verwendung von nib-Dateien (persönliches Interesse nur, nicht planen, nie Nibs mit!).

Ich habe meinen App-Controller als NSApp Delegierten einzurichten. Unter - (void) applicationDidFinishLaunching: (NSNotification *) aNotification, versuche ich, die Schnittstelle zu initialisieren.

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

Verfahren in 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];

}

Der Teil auf Kommentar ist der Ursprung des 1 Fehler, die in der „Build“, nur Panel nicht im Texteditor angezeigt werden:

<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

Es scheint ein Problem mit alloc zu sein / init'ing eine Instanz hier. Ich kann ein neues erklären ganz gut, das heißt QTMovieView * Test; und nichts beschwert. Ich habe auch festgestellt, dass es die gleiche Sache mit allen anderen QT Klassen tut, wenn ich versuche / init sie Alloc. Allerdings konnte ich / init NSWindow Alloc just fine. Der Rahmen ist in meinem Projekt und wie Sie in meiner .h-Datei sehen können, ich eingeschlossen QTKit.

Wer weiß, was los ist?

Veröffentlicht am 09/03/2009 um 02:57
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
4

Der Fehler , Sie bekommen ein Linker Fehler - der Linker ( ld) kann nicht den Rahmen Objektcode für die findet QTMovieViewKlasse. Daher haben Sie nicht den QTKit Rahmen in Ihrem Projekt enthalten. Wenn Sie denken , Sie haben, dann etwas dagegen ist nicht richtig eingerichtet.

Beantwortet am 09/03/2009 um 03:23
quelle vom benutzer

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