1.opencv多版本共存
https://blog.csdn.net/a15608445683/article/details/130034449
https://blog.csdn.net/qq_44103359/article/details/138182647
2.opencv官方安装教程(慎重单独使用)
https://learnopencv.com/install-opencv3-on-ubuntu/
3.切换回ros自带的opencv(noetic opencv4.2.0)
报错1
[链接boost库出现boost::system::generic_category()错误] (https://www.coonote.com/note/boost-system-generic_category.html)
undefined reference to `boost::system::generic_category()
https://blog.csdn.net/CCCrunner/article/details/130012568
解决方法:CMakelist.txt加上
link_libraries("/usr/local/lib/libboost_system.so.1.65.1")
报错2
warning: libopencv_core.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with lib
【关于ubuntu调用opencv,cvbridge等会出现opencv和ros冲突的问题】
https://blog.csdn.net/weixin_46847148/article/details/129086473
https://blog.51cto.com/u_16213618/12887427
https://www.zhihu.com/question/632088875
解决方法:set(cv_bridge_DIR /usr/local/share/cv_bridge/cmake) //在find_package前面
我的电脑中是添加:
set(OpenCV_DIR /usr/local/share/OpenCV)
set(cv_bridge_DIR /opt/ros/noetic/share/cv_bridge/cmake)
注释掉~/.bashrc和/etc/ld.so.conf里面和opencv3.3.1有关的命令,然后source ~/.bashrc和sudo ldconfig