【发布时间】:2015-10-16 09:03:28
【问题描述】:
我目前正在使用 OpenCV Android NDK,当我打开示例项目时,CPP 编辑器总是显示错误“IDetector not defined”
class CascadeDetectorAdapter: public DetectionBasedTracker::IDetector
{
public:
CascadeDetectorAdapter(cv::Ptr<cv::CascadeClassifier> detector):
但是编译和执行工作正常,我可以运行项目
但是编辑器中的错误有点奇怪,我无法 ctrl+click 类,但是 CascadeClassifier 也是 opencv2/objdetect.hpp 中的 CPP 类已正确编入索引,我能够自动完成,但 opencv2/objdetect/detection_based_tracker.hpp 未正确编入索引
我有另一个 HPP 文件说 abcd.hpp 并放置了类似的具有不同名称的类
#ifndef __OPENCV_OBJDETECT_ABCD_HPP__
#define __OPENCV_OBJDETECT_ABCD_HPP__
namespace cv
{
class CV_EXPORTS DetectionBasedTracker1
{
public:
class IDetector1
{
};
};
};
#endif
此处检测到 DetectionBasedTracker1,但未检测到 DetectionBasedTracker1::IDetector1
这是与嵌套类有关的问题吗?
谁能帮我解决这个问题。
--编辑--
似乎在detection_based_tracker.hpp里面的顶部有以下代码
#if defined(__linux__) || defined(LINUX) || defined(__APPLE__) || defined(__ANDROID__) || \
(defined(__cplusplus) && __cplusplus > 201103L) || (defined(_MSC_VER) && _MSC_VER >= 1700)
如果我删除此代码并重新索引,则错误消失
是否可以使用 eclipse 环境变量或 C/C++ 宏或程序集绕过此 #if define?
【问题讨论】:
-
Eclipse 索引器仅在构建后运行。建好项目后还有问题吗?
-
是的,我在构建之后仍然有问题,但是构建、编译、运行一切正常,除了编辑器显示红色
标签: android c++ eclipse opencv