cv_bridge会使用自定义版本的opecv,一般会出现与我们所使用的opencv版本不一致,就会出现冲突问题。
/opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake 会对自己所使用的opencv版本进行设置:
如果我们自己的模块中依赖了cv_bridge,就会将cv_bridge配置的opencv版本加入到我们的编译环境中来。
如果我们在自己的CMakeLists.txt中设置了自定义的opencv版本和环境,将会产生冲突。
会按照cv_bridge所使用的opencv版本来进行链接,然而cv_bridge的opencv版本配置一般不全面,很多库文件没有添加,就会出现命名设置了opencv环境,但还是找不到库文件的情况。
解决办法有两个:
1.是将cv_bridge使用opencv版本切换为自己工程所使用的版本。
2.是将自己工程所使用的opencv版本切换为cv_bridge使用的版本。
如何切换呢?
修改如下两个地方