我已经安装了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
答案 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`