链接器错误,在 ubuntu 15.04 上使用 OpenCV 和 Eclipse CDT

Posted

技术标签:

【中文标题】链接器错误,在 ubuntu 15.04 上使用 OpenCV 和 Eclipse CDT【英文标题】:Linker Error, Using OpenCV and Eclipse CDT on ubuntu 15.04 【发布时间】:2017-12-10 09:02:31 【问题描述】:

我将像this guide 一样一步一步地进行,但我的代码无法编译。它出现了一些我不知道如何修复的链接器错误。这是我终端的回答:pkg-config --libs opencv

/usr/lib/x86_64-linux-gnu$ pkg-config --libs opencv /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so -lopencv_calib3d /usr/lib/x86_64-linux-gnu/libopencv_contrib.so -lopencv_contrib /usr/lib/x86_64-linux-gnu/libopencv_core.so -lopencv_core /usr/lib/x86_64-linux-gnu/libopencv_features2d.so -lopencv_features2d /usr/lib/x86_64-linux-gnu/libopencv_flann.so -lopencv_flann /usr/lib/x86_64-linux-gnu/libopencv_gpu.so -lopencv_gpu /usr/lib/x86_64-linux-gnu/libopencv_highgui.so -lopencv_highgui /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so -lopencv_imgproc /usr/lib/x86_64-linux-gnu/libopencv_legacy.so -lopencv_legacy /usr/lib/x86_64-linux-gnu/libopencv_ml.so -lopencv_ml /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so -lopencv_objdetect /usr/lib/x86_64-linux-gnu/libopencv_ocl.so -lopencv_ocl /usr/lib/x86_64-linux-gnu/libopencv_photo.so -lopencv_photo /usr/lib/x86_64-linux-gnu/libopencv_stitching.so -lopencv_stitching /usr/lib/x86_64-linux-gnu/libopencv_superres.so -lopencv_superres /usr/lib/x86_64-linux-gnu/libopencv_ts.so -lopencv_ts /usr/lib/x86_64-linux-gnu/libopencv_video.so -lopencv_video /usr/lib/x86_64-linux-gnu/libopencv_videostab.so -lopencv_videostab

很抱歉,如果阅读起来很混乱,但这正是我收到答案的方式。

这就是我组织链接器的方式

这是我得到的错误:

构建目标:Ball_Plate 调用:GCC C++ Linker g++ -L/usr/lib/x86_64-linux-gnu -o"Ball_Plate" ./Src/src.o -lopencv_core\ opencv_imgproc\ opencv_highgui\ opencv_ml\ opencv_video\ opencv_features2d\ opencv_calib3d\ opencv_objdetect\ opencv_contrib\ opencv_legacy\ opencv_flann /usr/bin/ld: 找不到 -lopencv_core opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_features2d opencv_calib3d opencv_objdetect opencv_contrib opencv_legacy opencv_flann collect2:错误:ld 返回 1 退出状态 生成文件:45:目标“Ball_Plate”的配方失败生成:*** [Ball_Plate] 错误 1

我不知道如何解决这个问题,我不太了解链接器如何处理 .so 文件,如果您能帮助我,我将不胜感激。

【问题讨论】:

【参考方案1】:

所以我读了this post,发现问题出在哪里,尝试用-DBUILD_TIFF=ON编译OpenCV库,现在Eclipse可以找到头文件但我再次遇到链接器错误,Eclipse无法链接库。

【讨论】:

以上是关于链接器错误,在 ubuntu 15.04 上使用 OpenCV 和 Eclipse CDT的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 15.04 64 位中 qemu 0.14.1 的 makefile 错误

我从源代码安装了 GCC 5.2,但我不知道如何在 Ubuntu 15.04 上卸载它

在 ubuntu 15.04 上安装 android studio 期间无法运行 mksdcard 工具

Ubuntu 15.04 + CUDA7.5 + Caffe 配置笔记

如何在 Ubuntu 15.04 上安装带 JSON 支持的 SQLite 3.9

CentOS 7 / Ubuntu 15.04 上安装 PHP Laravel 过程详解