Error de construcción extraño, problema con el nombre de clase?

votos
0

Estoy haciendo un proyecto corto solo para experimentar la escritura sin el uso de archivos de punta (solo de interés personal, ¡no pienses nunca en usar plumillas!).

Tengo mi controlador de aplicación configurado como delegado de NSApp. Bajo - (nulo) applicationDidFinishLaunching: (NSNotification *) aNotification, intento inicializar la interfaz.

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

Método en 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 comentada es el origen del error 1 que no aparece en el editor de texto, solo en el panel compilar:

<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

Parece que hay un problema con alloc / init'ing aquí. Puedo declarar uno nuevo muy bien, es decir, prueba QTMovieView *; y nada se queja También descubrí que hace lo mismo con todas las otras clases de QT cuando intento asignarlas / iniciarlas. Sin embargo, pude alloc / init NSWindow muy bien. El marco está en mi proyecto y, como pueden ver en mi archivo .h, incluí QTKit.

Alguien sabe lo que está pasando?

Publicado el 09/03/2009 a las 02:57
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
4

El error que está recibiendo es un error del enlazador: el vinculador ( ld) no puede encontrar el código del objeto de estructura para la QTMovieViewclase. Por lo tanto, no ha incluido el marco QTKit en su proyecto. Si crees que tienes, entonces algo no está configurado correctamente.

Respondida el 09/03/2009 a las 03:23
fuente por usuario

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