首页 > 解决方案 > 安装 opencv + 致命错误:找不到“opencv2/core.hpp”文件

问题描述

我已经使用下面给出的官方安装过程安装了 open cv:

https://docs.opencv.org/4.5.2/d0/db2/tutorial_macos_install.html

我在 mac 上做这个,这个过程花了大约 3 个小时。安装后,安装目录如下所示:

apple@Apples-MacBook-Air.local:~/Learning/openCV/cpp$  pwd
/Users/apple/Learning/openCV/cpp

apple@Apples-MacBook-Air.local:~/Learning/openCV/cpp$  ls
3rdparty            CTestTestfile.cmake     bin             data                 
opencv_data_config.hpp      setup_vars.sh
CMakeCache.txt          Makefile            cmake_install.cmake     doc              
opencv_lapack.h         test-reports
CMakeDownloadLog.txt        OpenCVConfig-version.cmake  cmake_uninstall.cmake        
include             opencv_python_config.cmake  tmp
CMakeFiles          OpenCVConfig.cmake      configured          lib              
opencv_python_tests.cfg     unix-install
CMakeVars.txt           OpenCVModules.cmake     custom_hal.hpp          modules              
opencv_tests_config.hpp     version_string.tmp
CPackConfig.cmake       apps                cv_cpu_config.h         opencv               
python_loader
CPackSourceConfig.cmake     basicOp.cpp         cvconfig.h          opencv2         
samples

现在,我正在编写一个非常简单的程序来测试安装,看起来我需要做的事情比迄今为止所做的更多。

我的简单程序:

#include<iostream>
#include<opencv2/core.hpp>

int main() {
  std::string imagePath = samples.findFile("starry_night.jpg");
  cv::Mat imageMatrix   = cv::imread(imagePath);
  if(imageMatrix.empty()) {
    std::cout << "Matrix is empty" << std::endl;
  }
}

编译它会产生错误:

apple@Apples-MacBook-Air.local:~/Learning/openCV/programs$  g++ imageRead.cpp 
 imageRead.cpp:2:9: fatal error: 'opencv2/core.hpp' file not found
 #include<opencv2/core.hpp>

没问题,由于开放的 cv 库没有链接,我大概可以理解。

所以,我编译:

apple@Apples-MacBook-Air.local:~/Learning/openCV/programs$  g++ imageRead.cpp -I/Users/apple/Learning/openCV/cpp/include -L/Users/apple/Learning/openCV/cpp/lib/

imageRead.cpp:2:9:致命错误:找不到“opencv2/core.hpp”文件#include<opencv2/core.hpp>

它仍然给我同样的错误。基本上,我通过了 gcc 的路径来考虑链接。

有什么建议么?如果需要,我可以帮助提供更多详细信息。

标签: opencv

解决方案


你试过#include<opencv2/opencv.hpp>代替#include<opencv2/core.hpp>吗?


推荐阅读