在ubuntu14.04下安装kinect报了很多错误:主要是opencv的版本与ros之间的冲突:

报错:

make[2]: *** 没有规则可以创建“/.so”需要的目标“/usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.8”。 停止。

卸载cv_bridge重装:

sudo apt-get remove ros-indigo-cv-bridge

1.指定opencv版本编译

这一步不管你单纯是cmake工程或者是ros的包,都可以通过下面的办法在CMakeLists.txt中添加相应的语句来选择不同版本的OpenCV进行编译。

set(OpenCV_DIR /home/ubuntu/opencv-2.4.13.6)
find_package(OpenCV 2.4 REQUIRED)
include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS} /home/ubuntu/opencv-2.4.13.6/include)
link_directories(${OpenCV_LIBRARY_DIRS} /home/ubuntu/opencv-2.4.13.6/lib)

2.cv_bridge与opencv兼容性问题

ROS kinetic中的cv_bridge中默认使用自带opencv3,而我们人脸识别程序使用的是opencv2,而需要解决cv3和cv2不兼容的问题,解决办法很简单,那就是找到/opt/ros/indigio/share/cv_bridge/cmake中的cv_bridgeConfig.cmake

if(NOT "include;/home/ubuntu/opencv-2.4.13.6;/home/ubuntu/opencv-2.4.13.6/include " STREQUAL " ")set(cv_bridge_INCLUDE_DIRS "")set(_include_dirs "include;/home/ubuntu/opencv-2.4.13.6;/home/ubuntu/opencv-2.4.13.6/include")

还有几个so文件路径改一下,在这里我们的路径在/usr/local/lib下,同理只要将上面的/usr/lib/x86_64-linux-gnu/路径改为自己的路径即可。

set(libraries "cv_bridge;/usr/local/lib/libopencv_videostab.so.2.4.13;/usr/local/lib/libopencv_video.so.2.4.13;/usr/local/lib/libopencv_superres.so.2.4.13;/usr/local/lib/libopencv_stitching.so.2.4.13;/usr/local/lib/libopencv_photo.so.2.4.13;/usr/local/lib/libopencv_ocl.so.2.4.13;/usr/local/lib/libopencv_objdetect.so.2.4.13;/usr/local/lib/libopencv_ml.so.2.4.13;/usr/local/lib/libopencv_legacy.so.2.4.13;/usr/local/lib/libopencv_imgproc.so.2.4.13;/usr/local/lib/libopencv_highgui.so.2.4.13;/usr/local/lib/libopencv_gpu.so.2.4.13;/usr/local/lib/libopencv_flann.so.2.4.13;/usr/local/lib/libopencv_features2d.so.2.4.13;/usr/local/lib/libopencv_core.so.2.4.13;/usr/local/lib/libopencv_contrib.so.2.4.13;/usr/local/lib/libopencv_calib3d.so.2.4.13")

此问题主要是对应目录没有相应的库,通过下面的脚本建立库的软连接。

3.建立脚本,changelib.sh

sudo ln -s /usr/local/lib/libopencv_calib3d.so /usr/lib/x86_64-linux-gnu/libopencv_calib3d.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_contrib.so /usr/lib/x86_64-linux-gnu/libopencv_contrib.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_core.so /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_detection_based_tracker.so /usr/lib/x86_64-linux-gnu/libopencv_detection_based_tracker.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_esm_panorama.so /usr/lib/x86_64-linux-gnu/libopencv_esm_panorama.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_facedetect.so /usr/lib/x86_64-linux-gnu/libopencv_facedetect.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_features2d.so /usr/lib/x86_64-linux-gnu/libopencv_features2d.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_flann.so /usr/lib/x86_64-linux-gnu/libopencv_flann.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_gpu.so /usr/lib/x86_64-linux-gnu/libopencv_gpu.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_highgui.so /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_imgproc.so /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_imuvstab.so /usr/lib/x86_64-linux-gnu/libopencv_imuvstab.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_legacy.so /usr/lib/x86_64-linux-gnu/libopencv_legacy.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_ml.so /usr/lib/x86_64-linux-gnu/libopencv_ml.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_objdetect.so /usr/lib/x86_64-linux-gnu/libopencv_objdetect.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_photo.so /usr/lib/x86_64-linux-gnu/libopencv_photo.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_stitching.so /usr/lib/x86_64-linux-gnu/libopencv_stitching.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_superres.so /usr/lib/x86_64-linux-gnu/libopencv_superres.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_tegra.so /usr/lib/x86_64-linux-gnu/libopencv_tegra.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_video.so /usr/lib/x86_64-linux-gnu/libopencv_video.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_videostab.so /usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_vstab.so /usr/lib/x86_64-linux-gnu/libopencv_vstab.so.2.4.8sudo ln -s /usr/local/lib/libopencv_ts.a /usr/lib/x86_64-linux-gnu/libopencv_ts.so.2.4.8
sudo ln -s /usr/local/lib/libopencv_ocl.so.2.4.13 /usr/lib/x86_64-linux-gnu/libopencv_ocl.so.2.4.8

4.运行:sh ./changelib.sh

> 我的微信公众号名称:深度学习与先进智能决策
> 微信公众号ID:MultiAgent1024
> 公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!

No rule to make target `/usr/lib/arm-linux-gnueabihf/libopencv_videostab.so.2.4.8'相关推荐

  1. 解决catkin_make时出现make[2]: *** No rule to make target ‘/usr/lib/libOpenNI2.so‘, needed by ‘*******‘。

    问题引出: catkin_make编译项目时出现下列错误: make[2]: *** No rule to make target '/usr/lib/libOpenNI2.so', needed b ...

  2. ubuntu16.04 catkin_make报错No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so'

    最近,博主遇到了极其糟心的事情,Ubuntu16.04系统的主机开机重启之后,循环显示输入密码进入的提示,天地良心,密码绝对正确,就是进不到桌面.后来在好心人的帮助下,终于可以看到Ubuntu系统的桌 ...

  3. error: No rule to make target '/usr/lib/libOpenNI.so', needed by 'bin/euroc_rectify'。 停止。

    这类问题的出现说明程序在编译时,CMakeLists.txt 文件没有找到OpenNI.so, 即 Pangolin库未安装或破损. 重新安装pangolin库即可.(亲测) 转载于:https:// ...

  4. QT添加lib库后提示 No rule to make target “xxx.lib“ needed by “xxx.exe“

    QT添加外部的lib库: 首先右键项目,选择添加库 进行选择: 这里加入的是静态库 添加库后编译一直报错No rule to make target 'xxx.lib' needed by 'xxx' ...

  5. Ubuntu18.04报错:make[1]: *** No rule to make target armv4-mont.o, needed by build-msm8916/lk. Stop.

    报错:make[1]: *** No rule to make target build-msm8916/lib/openssl/crypto/bn/asm/armv4-mont.o, needed ...

  6. Ruby cannot load such file -- zlib和openssl(LoadError)及gem No rule to make target `/include/ruby.h‘解决

    Ruby源码安装 cannot load such file -- zlib (LoadError) 和 cannot load such file -- openssl (LoadError) 及 ...

  7. `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.55)

    参考: https://blog.csdn.net/u010741000/article/details/86513205 /home/jx/Leo/gcc-4.8.2/build/x86_64-un ...

  8. 在CentOS 7上利用systemctl添加自定义系统服务 /usr/lib/systemd/

    在CentOS 7上利用systemctl添加自定义系统服务 [日期:2014-07-21] 来源:blog.csdn.net/yuanguozhengjust 作者:yuanguozhengjust ...

  9. Linux kernel进行编译时提示No rule to make target `menconfig'

    进入linux-2.6.37目录下.运行make menconfig,提示:   make[1]: *** No rule to make target `menconfig'.  Stop. 截图如 ...

  10. Linux:error while loading shared libraries: /usr/lib/xx.so.xx: file too short

    今天将linux上交叉编译的jrtplib和jthread库拷贝到ARM开发板的/usr/lib目录,结果运行测试程序的时候报错,如博文标题所示. 交叉编译明明没有问题,为什么会这样呢,百思不得其解. ...

最新文章

  1. 以太坊第五年,未来该往哪走?
  2. C++STL的vector中front(),back(),begin(),end()的用法
  3. python3[进阶]8.对象引用、可变性和垃圾回收
  4. 【转】大话程序猿眼里的高并发
  5. fastreport masterdata每页都显示_ALIENTEK 阿波罗 STM32F767 开发板资料连载十六章 OLED 显示实验...
  6. 集成hello到OpenDaylight发行版中
  7. Redis常见的面试题
  8. 高并发实战之幂等处理
  9. jsonrpc(jsonrpc4j)demo
  10. Acrel-2000Z智能电力监控系统解决方案
  11. 无法打开包括文件: “Eigen/Dense”【CMakeLists 解决方案】
  12. DOS的net命令详解
  13. vue-动手做个选择城市
  14. 俄亥俄州立大学宣布开放 Swift 编程和 App 开发课程
  15. 5G相关协议下载路径
  16. 微信支付 postman_微信上线新功能,马化腾都在玩!快查查你多少分?
  17. Coreldraw绘画看了这个才算是真正明白了什么叫绘图
  18. MVP+Dragger2+Rxjava2+Retrofit+OKhttp进行开发。
  19. Java中使用SOAP的方式调用天气预报webservice的接口实例
  20. 推荐一款Node.js编写的HTTP代理服务器Zan Proxy

热门文章

  1. Jupyter notebook内使用(添加)虚拟环境
  2. HDOJ-1272 小希的迷宫
  3. SpringBoot+Shiro学习(七):Filter过滤器管理
  4. jumpserver的安装
  5. IoT实时数据可视化方案(进阶版):Worldmap Panel使用详解及使用Node-RED进行流程管理...
  6. 使用Popup窗口创建无限级Web页菜单(4)
  7. router阻止telnet自身的两种方法
  8. SQL时间相关 - SQL日期,时间比较(转)
  9. Spring Boot Web相关配置
  10. 关于利用exchange server 2003搭建邮件服务器:小进步……