首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV 3和NVIDIA数字: OpenCV版本冲突(2.4vs3.0)

OpenCV 3和NVIDIA数字: OpenCV版本冲突(2.4vs3.0)
EN

Stack Overflow用户
提问于 2015-12-07 01:23:48
回答 2查看 2.6K关注 0票数 0

背景:

我希望同时使用卡菲位数,这样就可以在数字框架内或外部使用Caffe。

但是,对于特定的项目,我要求Caffe使用OpenCV 3,而不是默认安装数字的OpenCV 2.4。此项目使用数字外部的Caffe,而不使用任何数字框架。

似乎通过安装数字,我的OpenCV 3安装被OpenCV 2.4“破坏”了,这在我最初的Caffe安装中造成了问题。

为了使事情更清楚,下面列出了我已经采取的步骤。

来自一个新的Ubuntu 14.04安装:

  1. 根据OpenCV安装的Caffe依赖项( Ubuntu安装指南除外)
  2. 将OpenCV 3从源代码安装到/usr/local
  3. 经过测试的OpenCV安装
    • 演示程序运行良好,包括特定于OpenCV 3的代码。

  1. 编译成功,将Makefile.config设置为使用OpenCV 3
  2. 经测试的Caffe安装
    • 所有测试都通过了,演示运行良好。

  1. 根据安装指南 安装的数字
    • 默认情况下,安装程序脚本安装了Caffe和OpenCV 2.4
    • OpenCV 3被OpenCV 2.4 (?)

  1. 从数字入门指南 执行步骤
    • 所有步骤都是成功的

  1. 怀疑OpenCV冲突,因此试图编译一个Caffe演示
    • 与OpenCV 3.0和2.4冲突有关的错误--详细信息如下。

编译命令:

g++ classification.cpp -o分类-I/home/josh/software/caffe/include/ -L/home/乔什/软件/caffe/build/lib/ -lcaffe -I/usr/local/cuda/include -L/usr/ local/cuda/lib 64 -lcuda -lcudart -lcublas -lcurand -I/home/josh/software/cudnn/include/ L/home//software/cudnn/lib64/ -lcudnn -L/usr/x86_64-linux-gnu/ -lglog -L/usr/本地/lib -lboost_system -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -DUSE_OPENCV

错误消息:

/usr/bin/ ld : /home/josh/software/caffe/build/lib//libcaffe.so,需要的警告: libopencv_core.so.3.0可能与libopencv_core.so.2.4 /usr/bin/ld: /tmp/ccHaWcOl.o冲突:未定义的对符号'_ZN2cv6String10deallocateEv‘//usr/local/lib/libopencv_core.so.3.0:错误添加符号: DSO缺失命令行collect2: collect2:ld返回一个退出状态

问题:

  1. 如何最好地解决OpenCV版本冲突而不中断Caffe/ either安装?
  2. 我需要删除OpenCV并重新安装咖啡豆和数字吗?
    • 如果是这样的话,我需要采取什么不同的措施来防止OpenCV版本的冲突,同时仍然允许Caffe (与OpenCV 3)和数字并行工作?

EN

回答 2

Stack Overflow用户

发布于 2015-12-10 20:27:13

安装OpenCV库时,共享库将像libopencv_core.so.2.4.8一样存储,其中2.4.8是OpenCV的版本号。libopencv_core.so文件通常链接到系统中安装的最后一个版本的OpenCV。

因此,虽然libopencv_core.so最初被链接到libopencv_core.so.3.0,但当您安装旧版本时,该链接被更新为链接到旧版本。

解决办法是在caffe中专门调用最新的OpenCV库。要做到这一点,您必须修改caffe中的Makefile。将所有出现的opencv_*替换为:libopencv_*.so.3.0

票数 1
EN

Stack Overflow用户

发布于 2017-04-01 03:54:32

如果您安装Caffe,使用opencv3.0并不是一个好的理想。咖啡和它不太兼容。如果您坚持使用它,请使用命令sudo apt-get autoremove libopencv-dev删除2.4版本。造成此版本冲突的原因是您安装了libopencv-dev (默认版本为2.4),并在3.0中安装了opencv。因此,删除它,然后编译caffe。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34125052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档