使用命名空间cv; Xcode无法识别人脸检测

时间:2013-12-02 23:26:07

标签: iphone xcode opencv

我遇到OpenCV问题。 系统无法识别我的.h文件中调用的cv。 当我使用namespace cv键入时; 我命令点击cv,它链接到框架。 另一个奇怪的事情是我的程序在一个新的文件项目中工作。它确实认可了cv。 当我添加到现有项目时,它显示使用命名空间cv的错误;和级联分类器,都无法识别。谢谢!

下面的

#import <UIKit/UIKit.h>
#import <opencv2/highgui/cap_ios.h>
#import <opencv2/imgproc/imgproc_c.h>
#import <opencv2/objdetect/objdetect.hpp>

using namespace cv; ----->expected ; after top level declarator

@interface CoolViewController : UIViewController<CvVideoCameraDelegate>
{
    IBOutlet UIImageView* imageView;

    CvVideoCamera* videoCamera;
    CascadeClassifier faceCascade; ---->unknown type CascadeClassifier did you mean cv::CascadeClassifier
}

@property (nonatomic, retain) CvVideoCamera* videoCamera;

- (IBAction)startCamera:(id)sender;
- (IBAction)stopCamera:(id)sender;

@end

1 个答案:

答案 0 :(得分:0)

这是因为xcode无法识别ObjC代码中的using namespace。确保文件的.mm扩展名不是.m

另外请不要将using namespace放在头文件中,并尽量避免使用ObjC头文件中的任何C ++代码


您应该将ivars移动到.mm文件

@implementation CoolViewController
{
    IBOutlet UIImageView* imageView;

    CvVideoCamera* videoCamera;
    CascadeClassifier faceCascade;
}
// your methods
@end