找不到-lopencv_contrib找不到-lopencv_elegacy

cannot find -lopencv_contrib cannot find -lopencv_legacy

本文关键字:找不到 -lopencv elegacy contrib      更新时间:2023-10-16

我已经安装了opencv,它编译了100%,我运行了一个命令:pkg配置--cflags--libs opencv它的输出是:-I/usr/include/opencv-I/usr/include/openpv4-lopencv_calib3d-lopencv_imgproc-lopencv_contrib-lopencv_elegacy-lopencv_core-lopenc_v_ml-lopencv_features2d-lopenc_objdetect-lopencv _flann-lopencv_video-lopencv_higgui

但当我试图编译一个c++代码时,它给出了找不到错误,我不知道该怎么办。谢谢

~/cpp_test$

g++ main.cpp -o output `pkg-config --cflags --libs opencv`
/usr/bin/x86_64-linux-gnu-ld: cannot find -lopencv_contrib
/usr/bin/x86_64-linux-gnu-ld: cannot find -lopencv_legacy
collect2: error: ld returned 1 exit status

如果您安装了OpenCV 4,我相信您会遇到与我相同的问题。

解决方案其实很简单,你只需要运行

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

而不是

g++ main.cpp -o output `pkg-config --cflags --libs opencv`

安装Opencv后,必须进行符号链接,以使库链接到已知的lib位置。尝试在终端sudo ldconfig上执行命令,以动态链接库。

然后编译CCD_ 2。