【发布时间】:2021-04-14 15:08:09
【问题描述】:
我正在尝试使用此命令编译程序:
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 库中的包含路径。
【问题讨论】:
-
您想查看 pkg-config 工具。例如见stackoverflow.com/q/15113753/451600
-
尝试通过命令编译 /* g++ -std=c++11 stl.cpp -o output ` pkg-config --cflags --libs opencv4` */ if u re using hte version低于 4 的 opencv 比只用 opencv 替换 opencv4