【问题标题】:Cannot Run Project in Eclipse C/C++ OpenCV 2.4.5 Ubuntu 12.10无法在 Eclipse C/C++ OpenCV 2.4.5 Ubuntu 12.10 中运行项目
【发布时间】:2013-05-13 23:26:21
【问题描述】:

我刚刚在 Ubuntu 12.10 上为 C/C++ 开发人员安装了 OpenCV 2.4.5 和 Eclipse IDE,并关注了this opencv.org tutorial。项目构建没有错误,但是当我从 Eclipse 到达“运行可执行文件”部分时,我在点击运行后收到以下消息:

/home/pedro/workspace/di/Debug/di: 加载共享时出错 库:libopencv_core.so.2.4:无法打开共享对象文件:否 这样的文件或目录

有人对如何解决这个问题有任何建议吗?

编辑:

使用sudo dpkg -l | grep opencv 给出:

  • ii libopencv-calib3d2.3 2.3.1-11ubuntu2 amd64 计算机视觉相机校准库
  • ii libopencv-contrib2.3 2.3.1-11ubuntu2 amd64 计算机视觉贡献库
  • ii libopencv-core-dev 2.3.1-11ubuntu2 amd64 开发文件用于 libopencv-core
  • ii libopencv-core2.3 2.3.1-11ubuntu2 amd64 计算机视觉核心库
  • ii libopencv-features2d2.3 2.3.1-11ubuntu2 amd64 计算机视觉特征检测和描述符提取库
  • ii libopencv-flann-dev 2.3.1-11ubuntu2 amd64 开发文件用于 libopencv-flann
  • ii libopencv-flann2.3 2.3.1-11ubuntu2 amd64 计算机视觉多维空间中的聚类和搜索库
  • ii libopencv-gpu-dev 2.3.1-11ubuntu2 amd64 开发文件用于 libopencv-gpu
  • ii libopencv-gpu2.3 2.3.1-11ubuntu2 amd64 计算机视觉 GPU 处理库
  • ii libopencv-highgui2.3 2.3.1-11ubuntu2 amd64 计算机视觉高级 GUI 和媒体 I/O 库
  • ii libopencv-imgproc-dev 2.3.1-11ubuntu2 amd64 开发文件用于 libopencv-imgproc
  • ii libopencv-imgproc2.3 2.3.1-11ubuntu2 amd64 计算机视觉图像处理库
  • ii libopencv-legacy2.3 2.3.1-11ubuntu2 amd64 计算机视觉遗留库
  • ii libopencv-ml-dev 2.3.1-11ubuntu2 amd64 开发文件用于 libopencv-ml
  • ii libopencv-ml2.3 2.3.1-11ubuntu2 amd64 计算机视觉机器学习库
  • ii libopencv-objdetect2.3 2.3.1-11ubuntu2 amd64 计算机视觉对象检测库
  • ii libopencv-video-dev 2.3.1-11ubuntu2 amd64 开发文件用于 libopencv-video
  • ii libopencv-video2.3 2.3.1-11ubuntu2 amd64 计算机视觉视频分析库
  • ii opencv-doc 2.3.1-11ubuntu2 所有 OpenCV 文档和示例
  • ii python-opencv 2.3.1-11ubuntu2 amd64 用于计算机视觉库的 Python 绑定
  • rc ros-fuerte-opencv2 2.4.2-0precise-20120908-1624-+0000 amd64 OpenCV
  • rc ros-groovy-opencv2 2.4.4-1quantal-20130325-0857-+0000 amd64 OpenCV

抱歉,格式不是最好的。

命令“定位 libopencv_core”

  • /usr/lib/libopencv_core.a
  • /usr/lib/libopencv_core.so
  • /usr/lib/libopencv_core.so.2.3
  • /usr/lib/libopencv_core.so.2

“locate libopencv”显示了一个广泛的列表,我不知道是否适合复制它。

【问题讨论】:

  • 这很有趣。当您在命令提示符下说"locate libopencv""locate libopencv_core" 时,输出是什么?那里有没有这样的文件,但有其他版本?您是手动安装了一些软件包,还是全部从存储库安装? (有ldconfig发出吗?)
  • "locate libopencv_core" 给出以下内容: /usr/lib/libopencv_core.a /usr/lib/libopencv_core.so /usr/lib/libopencv_core.so.2.3 /usr/lib/libopencv_core.so .2.3.1 我按照教程从存储库安装了所有这些,并在其中一个步骤中使用 ldconfig。
  • 你说它什么都不返回? "locate libopencv" 会返回什么,现在最重要的是,sudo dpkg -l | grep opencv 会显示什么?
  • 您对 Ubuntu / Linux 的体验如何?我假设如果你能建造它,你就会拥有所需的知识。如果你可以构建它,你必须安装所需的 *-dev 包,我认为那些应该自动拉入库包本身(它们依赖于它们)。你的安装程序是什么?
  • 您链接的教程从 GitHub 中提取 OpenCV 的源代码并进行编译。如果您从 Ubuntu 12.10 存储库安装了 opencv,那通常比最新的源版本稍晚。

标签: eclipse opencv ubuntu-12.10


【解决方案1】:

Ubuntu Quency Quantal 12.10 在它的 repo 中有 2.3.1 包: OpenCV in Ubuntu 12.10 repo 下一个版本,raring有2.4。 我会卸载 Ubuntu 12.10 的各种 v2.3.1 opencv 相关软件包。 (它们是如何安装的?你是手动安装的,还是有什么东西把它们拉进来的?)。然后我会尝试再次编译+安装 OpenCV 源代码。 make 过程的安装阶段应该为您提供库。

【讨论】:

  • 我其实很小心地编译了 2.4.5 而不是 2.3.1。
  • 嗯。在 dpkg 软件包列表中,您的大多数相关软件包似乎都有 2.3.1 版本。那么你需要解决这个问题。
  • 好的,我编辑了我的答案,所以问题是 12.10 的存储库中有 v2.3.1 OpenCV。我将研究他们如何解决这个问题的教程。
  • 将“opencv.config”文件从“/usr/local/lib”编辑到“/usr/local/lib/”然后运行“sudo ldconfig -v”后,我能够运行程序没有错误。我猜我第一次运行 ldconfig 的时候有问题,我没有注意到。
  • 很高兴听到你解决了它。我的回答有点不对劲。但我仍然有点担心您系统中来自 12.10 存储库的 2.3.1 版本包。他们以后可能会造成麻烦。
猜你喜欢
  • 2014-01-11
  • 2014-12-27
  • 2013-03-31
  • 1970-01-01
  • 2021-08-18
  • 2016-01-07
  • 2019-05-25
  • 2015-11-06
  • 1970-01-01
相关资源
最近更新 更多