错误:'QTVisualContextRef'之前的预期说明符限定符列表

时间:2011-01-16 21:42:26

标签: objective-c

我目前在我的标题代码中收到此错误消息,我不确定原因:

“错误:'QTVisualContextRef'之前的预期说明符限定符列表”

#import <Cocoa/Cocoa.h>
#import <QTKit/QTKit.h>
#import <OpenGL/OpenGL.h>
#import <QuartzCore/QuartzCore.h>
#import <CoreVideo/CoreVideo.h>


@interface MyRecorderController : NSObject {
    IBOutlet QTCaptureView *mCaptureView;

    IBOutlet NSPopUpButton *videoDevicePopUp;
    NSMutableDictionary *namesToDevicesDictionary;
    NSString *defaultDeviceMenuTitle;

    CVImageBufferRef mCurrentImageBuffer;
    QTCaptureDecompressedVideoOutput       *mCaptureDecompressedVideoOutput;

    QTVisualContextRef  qtVisualContext;    // the context the movie is playing in

    // filters for CI rendering
    CIFilter            *colorCorrectionFilter; // hue saturation brightness control through one CI filter
    CIFilter            *effectFilter;          // zoom blur filter
    CIFilter            *compositeFilter;       // composites the timecode over the video
    CIContext           *ciContext;

    QTCaptureSession *mCaptureSession;
    QTCaptureMovieFileOutput *mCaptureMovieFileOutput;
    QTCaptureDeviceInput *mCaptureDeviceInput;

}

@end

在我通过其他代码看到的示例中(例如Cocoa Video Tutorial)我没有看到他们的代码与我的代码有任何区别。如果有人能够指出这个错误是如何发生的那么会很棒。 谢谢堆! :)

2 个答案:

答案 0 :(得分:6)

如果您要编译为64位应用程序,则无法使用QTVisualContextRef。您需要将应用程序编译为32位。

Apple还没有完全充实QTKit到64位......

答案 1 :(得分:1)

这是一个GCC错误,这意味着编译器不知道令牌QTVisualContextRef。这确实是一个相当糟糕的错误信息。您需要添加正确的#import,以便向编译器传授此类型。它是QuickTime框架的一部分,所以你可能想要

#import <QuickTime/QuickTime.h>