找不到-lopencv_contrib找不到-lopencv_legacy

时间:2019-03-01 04:01:05

标签: c++ opencv ubuntu-18.04

我已经安装了opencv,它已100%编译,我已经运行了一个命令: pkg-config --cflags --libs opencv 输出为:- I / usr / include / opencv -I / usr / include / opencv4 -lopencv_calib3d -lopencv_imgproc -lopencv_contrib -lopencv_legacy -lopencv_core -lopencv_ml -lopencv_features2d -lopencv_objdetect -lopencv_fla << / strong / p>

但是当我尝试编译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

2 个答案:

答案 0 :(得分:0)

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

然后编译g++ main.cpp -o output $(pkg-config --cflags --libs opencv)

答案 1 :(得分:0)

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

该解决方案实际上非常简单,您只需要运行

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

代替

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