在运行slam时提示跟opencv以及ros相关未定义的引用的解决方法

在运行修改的slam到96%的时候出现了与opencv相关以及ros相关的未定义的引用

一开始以为是缺少链接库后来经查找发现都存在,

百度了一下有说是与电脑版本里的g++和gcc版本不对应有关,查看了一下自己电脑版本里的g++与gcc版本是对应的

后来怀疑是CMakeLists里出了问题(1)有可能是里面文件的顺序有先后错误检查了一下发现没有

(2)询问了一下大神说应该是与电脑里面的opencv有关 ,一开始安装ros的时候它会自己带一个opencv因为我在配置slam环境的时候需要另一个版本的opencv所以此时我的电脑里面有两个版本的opencv,于是我将CMakeLists里面指定了ros自带的opencv版本

find_package(OpenCV-3.4.4 REQUIRED) 该问题便解决啦

(opencv-3.4.4是我电脑里与ros版本对应的opencv 有遇到类似问题的小伙伴可以试试该方法)

你可能感兴趣的:(ROS,ros,opencv,slam)