【问题标题】:main.cpp:1:10: fatal error: opencv2/highgui.hpp: No such file or directorymain.cpp:1:10:致命错误:opencv2/highgui.hpp:没有这样的文件或目录
【发布时间】:2019-07-21 14:21:12
【问题描述】:

我已经在 ubuntu 18.04 中安装了 opencv 并且安装成功,我试过这个命令: $ pkg-config --modversion opencv 其输出为:4.0.1-dev 在此之后,我尝试朗姆 C++ 代码:

#include <opencv2/highgui.hpp>
#include <iostream>
using namespace std;

int main( int argc, char** argv ) {

  cv::Mat image;
  image = cv::imread("sample.jpeg" , CV_LOAD_IMAGE_COLOR);

  if(! image.data ) {
      std::cout <<  "Could not open or find the image" << std::endl ;
      return -1;
    }

  cv::namedWindow( "Display window", cv::WINDOW_AUTOSIZE );
  cv::imshow( "Display window", image );

  cv::waitKey(0);
  return 0;
}

使用这个命令::~/cpp_test$ g++ main.cpp -o output pkg-config --cflags --libs opencv 但它会引发致命错误:

main.cpp:1:10: fatal error: opencv2/highgui.hpp: No such file or directory
 #include <opencv2/highgui.hpp>
          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

我已经查看了一些类似的问题,但我没有找到答案,我认为这是因为环境变量,我不知道我必须设置哪些变量。

【问题讨论】:

  • 首先在您的包含目录中找到opencv2 文件夹。然后查看文件highgui.hpp是否存在。
  • 您可以尝试包含完整路径吗?比如#include
  • 如果 'highgui.hpp' 存在那么我必须添加路径到 'bashrc'??
  • 我试图在 #include /danyial/opencv/modules/highgui/include/opencv2/highgui.hpp> 中包含完整路径,但现在又抛出了另一个错误:
  • 您需要将/home/danyial/opencv/modules/highgui/include/ 添加到您的编译器包含路径中。相关:stackoverflow.com/questions/12654013/…

标签: c++ opencv ubuntu-18.04


【解决方案1】:

在编译命令中,在“opencv”旁边添加一个“4”(或者你的OpenCV版本号):

$ g++ main.cpp -o output \`pkg-config --cflags --libs opencv4\`

【讨论】:

    猜你喜欢
    • 2019-11-20
    • 2016-04-02
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 2021-08-24
    相关资源
    最近更新 更多