Странная ошибка сборки, проблемы с именем класса?

голоса
0

Я делаю короткий проект просто экспериментировать писать без использования СИБ файлов (только личный интерес, не планирую никогда не используя крупку!).

Я мой контроллер приложения установить в качестве делегата NSApp в. Под - (ничтожной) applicationDidFinishLaunching: (NSNotification *) aNotification, я пытаюсь инициализировать интерфейс.

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

Метод в 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];

}

Часть закомментирована происхождение-ошибка, которая не отображается в текстовом редакторе, только в «сборке» панели:

<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

Там, кажется, проблема с Alloc / init'ing экземпляр здесь. Я могу объявить новый просто отлично, то есть QTMovieView * тест; и ничего не жалуется. Я также обнаружил, что он делает то же самое со всеми другими классами QT, когда я пытаюсь Alloc / инициализации них. Тем не менее, я был в состоянии Alloc / инициализации NSWindow просто отлично. Рамки в моем проекте, и, как вы можете увидеть в моем файле .h, я включил QTKit.

Кто-нибудь знает, что происходит?

Задан 09/03/2009 в 02:57
источник пользователем
На других языках...                            


1 ответов

голоса
4

Ошибка вы получаете ошибка линкера - линкер ( ld) не может найти объектный код рамки для QTMovieViewкласса. Таким образом, вы не включили в рамки QTKit в проекте. Если вы думаете , что, то что - то об этом не настроены должным образом.

Ответил 09/03/2009 в 03:23
источник пользователем

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