ROS使用自定义全局路径规划器编译时报错 ‘xxx’ is not a member of ‘pcl::traits’的解决方法

2023-05-16

   当我们将自己编写的全局路径规划器插件放到工作空间下进行编译的时候,可能会报一堆错误,主要的错误提示为‘xxx’ is not a member of ‘pcl::traits
   其中的xxx代表某一名词,如plus、plusscalar、minus等,如下图所示:

   以上错误的原因大概率是编译时没有设定C++编译器的版本导致的,需要在CMakeLists.txt文件中设定,在CMakeLists.txt文件中添加以下语句,设定为C++14,插入位置如下图所示:

set(CMAKE_CXX_STANDARD 14)

   (注意:不要插在文件的最后,插在最后无效)

   还有就是CMakeLists.txt文件属于受保护的文件,修改后,需要权限才能保存修改,我是使用VS Code打开这个CMakeLists.txt文件文件的,修改完点击保存的时候,右下角会弹出提示权限不足,如下图所示:

   选择以超级用户身份重试,然后在弹出的界面,输入用户密码就可以了,如下图所示:

   输完密码,点击认证就可以成功保存了

   此时,再编译我们的工作空间,就可以成功编译了,如下图所示:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS使用自定义全局路径规划器编译时报错 ‘xxx’ is not a member of ‘pcl::traits’的解决方法 的相关文章

随机推荐