小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
ROS1 RVIZ启动octomap插件时闪退
-
-
背景
尝试使用octomap功能包将点云转化为二维栅格地图。我使用了源码来编译octomap功能包,rviz octomap插件是用命令行安装的 -
问题描述
启动功能包后,在RVIZ中添加occupancyMAP时,RVIZ直接闪退,提示:rviz: symbol lookup error: /opt/ros/noetic/lib//liboctomap_rviz_plugins.so: undefined symbol: _ZN4rviz11IntPropertyC1ERK7QStringiS3_PNS_8PropertyE,
使用c++filt工具提示如下
3.尝试的方法
尝试重新安装octomap库,问题仍然存在。
启动launch文件后 查看topic octomap的相关话题能够显示
-
-
您遇到的错误提示表明
liboctomap_rviz_plugins.so
这个共享库在运行时找不到一个名为_ZN4rviz11IntPropertyC1ERK7QStringiS3_PNS_8PropertyE
的符号。这通常意味着存在以下几种可能性:-
库不匹配:可能是
octomap_rviz_plugins
与您系统中安装的rviz
版本不兼容。这可能是因为您从源码编译了octomap
功能包,但是rviz
插件可能是基于另一个版本的rviz
编译的。 -
环境变量问题:可能是环境变量没有正确设置,导致
rviz
在运行时没有加载到正确的库版本。 -
损坏的安装:有时候,库文件在安装或更新过程中可能会损坏。
为了解决这个问题,您可以尝试以下步骤:
步骤 1:检查版本兼容性
确保您从源码编译的
octomap
功能包与您的 ROS 发行版(在您的情况下是 Noetic)兼容。查看octomap
的官方文档或 GitHub 仓库以确认支持的 ROS 版本。步骤 2:清理并重新编译
-
清理工作空间:
cd ~/catkin_ws # 或者您的工作空间路径 catkin clean
-
确保您的
CMakeLists.txt
和package.xml
文件都是最新的,并且包含了所有必要的依赖项。 -
重新编译工作空间:
catkin build
或者
catkin_make
步骤 3:检查环境变量
确保您的 ROS 环境变量设置正确。您可以运行以下命令来检查:
echo $ROS_PACKAGE_PATH echo $ROS_WORKSPACE echo $LD_LIBRARY_PATH
确保这些变量包含了指向您的工作空间和 ROS 安装目录的正确路径。
步骤 4:重新安装
rviz
和octomap_rviz_plugins
尝试通过
apt
重新安装rviz
和相关的插件(如果它们是作为包提供的):sudo apt-get update sudo apt-get install --reinstall ros-noetic-rviz ros-noetic-octomap-rviz-plugins
如果插件没有通过
apt
提供,确保您从源码编译它们时,使用的是与您的 ROS 发行版兼容的版本。步骤 5:查看日志
查看 RVIZ 和 ROS 的日志,以获取更多关于错误的信息。您可以使用以下命令来查看 ROS 的日志:
roslaunch roslaunch-log-viewer.launch
或者查看
~/.ros/log
目录下的日志文件。如果以上步骤都不能解决问题,您可能需要更深入地检查您的 ROS 设置和编译环境,或者考虑在 ROS 社区或相关论坛中寻求帮助。在提问时,请提供尽可能详细的信息,包括您的工作空间配置、编译命令、ROS 版本、操作系统信息等,以便他人能够更好地帮助您。
以上为生成回答,仅供参考~
-
-
-
请问具体怎么解决的,我也遇到了一样的问题