OpenCV 2.4.13 error: ‘Moments’ in namespace ‘cv’ does not name a type
OpenCV 2.4.13 error: ‘Moments’ in namespace ‘cv’ does not name a type
我是使用 OpenCV 的初学者,当我尝试编译我的 main.cpp 文件时遇到此错误(以及许多其他错误):
我不知道我做错了什么。我下载了 OpenCV 2.4.13 zip 文件,将其解压到我的项目文件夹中(见图片)并将 cv.h 文件包含到我的 main.cpp 中。我需要做什么?是什么导致了这个问题?
我正在使用 Ubuntu 14.04 LTS,Codeblocks 13.12。
根据错误消息,您将本地 OpenCV 实例 headers (/home/jjepoh/Document/codeblocks_workspace/opencv/opencv-2.4.13/include/opencv
) 与 system-wide 实例 (/usr/local/include/opencv2/
) 混合使用。
system-wide 实例可能是一个不同的版本,并且因为本地实例很可能使用“#include <opencv/xxx.h>
”来包含从属 headers,system-wide 位置优先选择。所以最后你得到了两个不同版本的 OpenCV 的混合,这显然是行不通的。
基本上有两种(或三种)修复的可能性:
- 安装新版本system-wide。
- 删除不同的 system-wide 版本(可能是 opencv 开发包)。
- 不使用新版本,使用系统安装的system-wide版本
我是使用 OpenCV 的初学者,当我尝试编译我的 main.cpp 文件时遇到此错误(以及许多其他错误):
我不知道我做错了什么。我下载了 OpenCV 2.4.13 zip 文件,将其解压到我的项目文件夹中(见图片)并将 cv.h 文件包含到我的 main.cpp 中。我需要做什么?是什么导致了这个问题?
我正在使用 Ubuntu 14.04 LTS,Codeblocks 13.12。
根据错误消息,您将本地 OpenCV 实例 headers (/home/jjepoh/Document/codeblocks_workspace/opencv/opencv-2.4.13/include/opencv
) 与 system-wide 实例 (/usr/local/include/opencv2/
) 混合使用。
system-wide 实例可能是一个不同的版本,并且因为本地实例很可能使用“#include <opencv/xxx.h>
”来包含从属 headers,system-wide 位置优先选择。所以最后你得到了两个不同版本的 OpenCV 的混合,这显然是行不通的。
基本上有两种(或三种)修复的可能性:
- 安装新版本system-wide。
- 删除不同的 system-wide 版本(可能是 opencv 开发包)。
- 不使用新版本,使用系统安装的system-wide版本