繁体   English   中英

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

[英]error: expected specifier-qualifier-list before 'cv'

我正在使用OpenCV框架进行图像处理,我正在识别正常iOS项目的照片边缘,现在我在cocos2d项目中转换此代码,我已导入所有必需的标题但在编译时我收到此错误:期望说明符 - 限定符 - 在'cv'之前列出。 这是我的代码

     #import "cocos2d.h"
     #import "CameraController.h"
     #import "Globals.h"

     @interface BotoxEffectController : CCLayer 
     { cv::VideoCapture *_videoCapture; cv::Mat _lastFrame;}//this is line where i am
       getting error

     @property (nonatomic, retain) CCSprite *sprite2D;
     +(CCScene *) scene;
     @end

     here is code in .pch file.

     #import <Availability.h>

     #ifndef __IPHONE_3_0
     #warning "This project uses features only available in iPhone SDK 3.0 and later."
     #endif

     #ifdef __cplusplus
     #import <OpenCV/opencv2/opencv.hpp>
     #endif

     #ifdef __OBJC__
     #import <UIKit/UIKit.h>
     #import <Foundation/Foundation.h>
     #endif

请参考下面的屏幕截图BotoxEffectController类接口,其中错误是&实现文件有扩展名.mm。 BotoxEffectController

这里是.pch文件,我在哪里导入opencv.hpp

.PCH

我想我知道这里发生了什么。 尝试将OpenCV标头添加到BotoxEffectController头文件中:

#import <OpenCV/opencv2/opencv.hpp>

如果这样可以修复编译错误,则问题在于prefix.pch。 由于某种原因,它不解析#if __cplusplus部分。 您可以通过向其添加警告来验证它,看看它是否触发:

#ifdef __cplusplus
#warning "ok so it DID import the OpenCV header"
#import <OpenCV/opencv2/opencv.hpp>
#endif

如果这是问题,我不能告诉你为什么prefix.pch中的opencv头不起作用。 我只记得曾经有过一次或两次这个问题,但是不记得我是怎么修的。 你应该检查一件事:BotoxEffectController.h的文件类型应该设置为“Default - C Header”而不是C ++头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM