opencv - 安装 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 的路径来考虑链接。
有什么建议么?如果需要,我可以帮助提供更多详细信息。
解决方案
你试过#include<opencv2/opencv.hpp>
代替#include<opencv2/core.hpp>
吗?
推荐阅读
- python - 连接数组内的数组 - 值错误:无法连接零维数组
- python - 如何在 Docker 中安装 yarl?
- r - 如何将 >= 语句与 ifelse 包中的数字集成?ifelse 中的错误:
- mysql - Nodejs Express 问题:更新 WHERE 问题
- python - 中断和继续循环如何在 python 中工作?
- vba - 使用批量查找和替换宏时如何防止单词崩溃?
- eclipse - apache tomcat 9 Eclipse 开普勒 IDE
- java - Swagger + Spring boot 未在 http://localhost:8080/home/swagger-ui.html 中显示 API 端点
- c# - 如何在鼠标悬停时更改 TabControl 关闭按钮图像?
- javascript - 如何在express node.js的get请求中将jwt令牌发送到中间件