首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openCV库调用的本地路径不存在

openCV库调用的本地路径不存在
EN

Stack Overflow用户
提问于 2019-09-24 20:56:35
回答 2查看 3.8K关注 0票数 3

我正在制作一个包含openCV库的简单c++程序。Eclipse IDE可以识别openCV命令和库位置,但当我尝试构建项目时,编译器给出外部错误,引用opencv.hpp或core.hpp文件调用"opencv2/core.hpp“路径,这在opencv文件夹中不存在。我发现问题与调用core.hpp的方式有关,但库文件是只读的。从我在opencv.hpp文件中看到的,这个相对的"opencv2/module.hpp“引用不仅适用于内核,也适用于所有其他模块。事实上,在安装openCV的文件夹中根本没有opencv2文件夹。

我尝试用不同的making参数重新安装和重新制作openCV,使用不同的集成开发环境,并在eclipse中包含直接搜索文件夹。显然,问题出在文件本身,或者它可能以错误的方式安装在系统中。这个问题在我的ubuntu主机和ARMbian橙色pi上都存在。

在尝试包含任何包含#include "opencv2/[opencv module].hpp"的openCV库时,我收到此错误

因此,编译将终止,并显示以下错误消息:"/usr/local/include/opencv4/opencv2/opencv.hpp:52:28:致命错误: opencv2/core.hpp:没有这样的文件或目录“

编辑1: GCC c++编译器选项为-Iusr/local/include/opencv4/opencv2 -O3 -Wall -c -fmessage-length=0,链接器选项为-L/usr/local/lib。代码是一个简单的displayImage

代码语言:javascript
复制
#include <opencv4/opencv2/opencv.hpp>
#include <opencv4/opencv2/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main( int argc, char** argv )
{
  Mat image;
  image = imread( argv[1], 1 );

  namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
  imshow( "Display Image", image );

  waitKey(0);

  return 0;
}

编辑2:$ pkg-config --libs opencv没有看到系统中安装了openCV,尽管我已经确保在path上运行了make installldconfig。这可能是安装错误的信号,但这只是一个次要说明,与主要问题不完全相关。我已经尝试重新安装和到不同的文件夹,但这仍然是一个主要的问题

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-26 20:20:14

显然,@sgarizvi的评论就是答案。我只需要将包含路径设置为I/usr/local/include/opencv4,它就起作用了。在那之后,错误就被修复了。

我正在回答我自己的问题来结束这个案例,因为我不能对评论投上赞成票。

票数 3
EN

Stack Overflow用户

发布于 2019-09-25 16:36:52

在本例中,由于包含路径是/usr/local/include/opencv4/opencv2,因此请替换前三行

代码语言:javascript
复制
#include <opencv4/opencv2/opencv.hpp>
#include <opencv4/opencv2/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>

通过

代码语言:javascript
复制
#include <opencv.hpp>
#include <imgproc.hpp>
#include <highgui.hpp>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58080833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档