有多個warning出現。。。版本衝突

解決辦法:

cv_bridge[opencv和ros連線起來的橋],預設依賴的opencv版本是2.4.8,如果安裝了新的opencv版本,比如3.1.0,那麼在編譯cv_bridge時候會提示無法找到opencv 2.4.8.so的庫。

1.必須要先把舊版本的cv_bridge解除安裝掉:

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

2.然後下載新版本的cv_bridge:

  1. git clone https://github.com/ros-perception/vision_opencv.git

3.修改cv_bridge中的cmakelists.txt

  1. find_package(OpenCV 3.1 REQUIRED) //將opencv的版本指定為3.1

4.將裡面的cv_bridge包拿出來,放到工作空間中,重新編譯:

  1. catkin_make --pkg cv_bridge //catkin_make --pkg[package包],單獨編譯工作空間catkin_ws中的包;catkin_make編譯所有的

也可以通過cmake編譯

  1. cd ~/catkin_ws/src/cv_bridge
  2. mkdir build
  3. cd build
  4. cmake ..
  5. make
  6. sudo make install

結束之後你就可以更改你的其他程式碼了,由於以前的cv_bridge不見了,所以要在其他程式碼的cmakelists.txt新增一句話,後面的路徑是自己的路徑,查詢cv_bridge.config.cmake所在的路徑即可

  1. set(cv_bridge_DIR /usr/local/share/cv_bridge/cmake) //在find_package前面
5.python呼叫cv_bridge相關的工作
在~/.bashrc中新增
  1. export LD_LIBRARY_PATH=/usr/local/lib/