我遇到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
答案 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