QT 找不到 openCV 的库
QT can't find openCV's libs
我已经通过此指令安装了OpenCV。
当我通过cmake构建代码时,我使用OpenCV,这一切都很好。但现在我正试图从QT使用OpenCV,我遇到了这样的错误:
error: undefined reference to `cvCreateCameraCapture'
OpenCV中的所有函数都有相同的错误。
我试着添加.pro这个代码:
INCLUDEPATH += /usr/local/include/opencv2
LIBS += -L/usr/local/lib
LIBS += -lopencv_core
LIBS += -lopencv_imgproc
LIBS += -lopencv_highgui
LIBS += -lopencv_ml
LIBS += -lopencv_video
LIBS += -lopencv_features2d
LIBS += -lopencv_calib3d
LIBS += -lopencv_objdetect
LIBS += -lopencv_contrib
LIBS += -lopencv_legacy
LIBS += -lopencv_flann
但这不起作用。目录/usr/local/include/opencv2
存在且不为空。
那么,怎么了?
将其添加到.pro文件:
LIBS += "pkg-config --libs opencv"
您得到了一个链接器错误,因此编译是正确的。为了正确地将链接库目录和链接库添加到.pro文件中,您应该在控制台上发出这样的命令:
username@linux-host:~>echo$(pkg配置--libs-opencv)
然后,您应该阅读下面一行中的库的长列表:
-lopenc_calib3d-lopenc_contrib-lopencv_core-lopenv_features2d-lopenpv_frann-lopen_v_gpu-lopencf_higgui-lopenmv_imgproc-lopenfv_elegacy-lopencv_ml-lopennv_nofree-lopenvc_objectdetect-lopencv_ocl-lopenccv_photo-lopencting-lopench_superes-lopentv_ts-loppencv_vvideo-loponcv_vvideostab/usr/lib64/libXext.so/usr/lib64/libX11.so/usr/lib64/libSM.so o/usr/lib64/libGL.so/usr/lib64/lipGL.so-lrt-lpthread-lm-ldl
在您获得了包含所有库和选项的长字符串序列后,将其插入.pro文件中,如下所示:
LIBS+=-lopencv_calib3d-l。。。插入上面看到的所有字符串!
保存.pro文件,重新运行qmake并再次运行make。链接错误应该已经消失。
如果问题没有消失,或者显示了其他链接错误,请在opencv编译目录(及其子目录)中找到所有扩展名为.pc的文件,并将它们作为根目录复制到/usr/share/pkgconfig/目录中
然后再次发出上面的命令,在.pro文件中插入识别LIBS+=行中库选项的正确字符串序列,并保存.pro文件,重新运行qmake并重新运行make。
- C/C++编译器通常会删除重复的库吗
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 构建一个由C和C++文件组成的库
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- 为重写std::exception的库生成swig接口时出错
- 我可以在 Arduino 的库文件夹之外安装库吗?
- 我希望定义两个具有相同代码的不同名称的库
- 运行命令 "rosbag play example.bag" 时出错。找不到与插件 rosbag/NoEncryptor 对应的库
- 更新后的Android Studio现在需要Clang,不再链接到GCC的库
- 包括没有完整路径的我的库
- 如何允许编译器查找通过 brew 安装的库
- 以现代 CMake 方式控制包含的库中的构建选项(测试等)
- 从 CMake 中的库目录加载共享库?
- Windows (COM) API 的行为不同,没有特定的库
- 如何使用我构建的库,而不会从源代码出错,但不为我自己的项目编译?
- 如何编译使用从不同编译器编译的库的应用程序?
- QT 找不到 openCV 的库
- OpenCV 未定义引用我自己的库中的方法
- OpenCV 无法加载所需的库(人脸检测)