首页 > 解决方案 > 为什么我的 g++ 编译器找不到正确的 OpenCV 版本?

问题描述

我正在尝试使用以下命令编译程序:

g++ -std=c++11 -I"/usr/local/Cellar/opencv/4.5.0_5/include/opencv4/opencv2/" -I"/usr/include/python2.7" stl.cpp -o stl -ldl -lpthread -lrt -lopencv_core -lpython2.7

但是,我不断收到此错误:

fatal error: 'opencv2/core.hpp' file not found

我更改了我的 -I 包含路径以指向正确安装了 opencv2/core.hpp 的我的 OpenCV 版本。我错过了什么吗?这种方法适用于其他编译...

编辑

在尝试了以下建议后,我仍然没有运气。

我添加了如下的 pkg-config 建议:

g++ -std=c++11 -I"/usr/include/python2.7" stl.cpp -o stl -ldl -lpthread -lrt -lopencv_core -lpython2.7  `pkg-config --cflags --libs opencv4` 

但我仍然"opencv2/core.hpp"找不到。这很奇怪,因为当我运行时:

pkg-config --cflags --libs opencv4

我得到:

-I/usr/local/Cellar/opencv/4.5.0_5/include/opencv4 -L/usr/local/Cellar/opencv/4.5.0_5/lib -lopencv_gapi -lopencv_stitching -lopencv_alphamat -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dnn_superres -lopencv_dpm -lopencv_highgui -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_intensity_transform -lopencv_line_descriptor -lopencv_mcc -lopencv_quality -lopencv_rapid -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_sfm -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_videoio -lopencv_viz -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_video -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core 这让我认为它应该工作。

我也尝试更改#include opencv2/core.hpp#include core.hpp. 这让我更接近,但后来我在实际的 opencv2/core.hpp 文件中收到一个错误,说它再也找不到包含了。我不认为我想开始编辑原始 opencv 库中的包含路径。

标签: c++copencvg++

解决方案


看起来您的包含路径有点错误。随着您的-I路径,您正在查看...opencv4/opencv2/。当您包含时,core.hpp您将其包含在(大概):

#include "opencv2/core.hpp"

所以编译器基本上是在寻找core.hpp...opencv4/opencv2/opencv2/core.hpp.

尝试...include/opencv4/改用。或者像这样包括:

#include "core.hpp"

推荐阅读