作者mactaris (mactaris)
看板MacDev
标题Re: [问题] Framework里的Header档不能用
时间Thu Oct 7 16:08:03 2010
※ 引述《ryanliang (暑假闲闲的大学生~~)》之铭言:
: 各位板上先进
: 以下是我的MyDocument.h档:
: #import <Cocoa/Cocoa.h>
: #import <QTKit/QTKit.h>
: @interface MyDocument : NSDocument
: {
: IBOutlet QTCaptureView *mCaptureView;
: IBOutlet QTMovieView *mMovieView;
: IBOutlet NSImageView *mImageView;
: IBOutlet NSTextField *mMovieTime;
: IBOutlet NSTextField *mWidth;
: IBOutlet NSTextField *mHeight;
: QTMovie *mMovie;
: QTCaptureSession *mCaptureSession;
: QTCaptureDeviceInput *mVideoDeviceInput;
: QTCaptureDeviceInput *mAudioDeviceInput;
: QTCaptureDecompressedVideoOutput *mCaptureDecompressedVideoOutput;
: ===>QTCaptureDecompressedAudioOutput *mCaptureDecompressedAudioOutput;
: CVImageBufferRef mCurrentImageBuffer;
: }
: - (IBAction)addFrame:(id)sender;
: @end
: 其中有加箭头的那一行就是问题所在
: XCode辨识不出它是保留字(它是QTKit中的一个Class 来输出无压缩过的audio)
: 所以在编译的时候就出现下列的错误讯息:
: Expected specifier-listqualifier-list before'QTCaptureDecompressedAudioOutput'
: 然後我跑去google它
: 有这麽一个解释 http://tinyurl.com/28xt57u
: 照它上面的改法後 也跟着出现它闻中的一个警告:
: warning: receiver 'QTCaptureDecompressedAudioOutput' is a forward class and
: corresponding @interface may not exist
: 所以现在还是没有办法improt那个class
: 有没有别的办法可以把那个class包进来??
: 好怪!
: 明明QTKit就有包进那个class
: 感谢!!
: P.S 我是用官网上的范例'StillMotion'做更改的
: 附上连结 http://tinyurl.com/238rrpl
因为 QTCaptureDecompressedAudioOutput 是 10.6 之後才补上的。
只要把 Base SDK 设为 10.6 就可以正常编译了。
但这并不表示编译出来的执行档一定要 10.6 才能跑,说不定 10.5
也能执行,请测试看看吧。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.111.97
1F:推 ryanliang:感谢mactaris大 真的是Base SDK的问题 感谢~~ 10/07 18:41