问题描述
最近在虚拟机中做ros和Qt的项目,遇到了非常奇怪的问题。我的ros相关命令全部都找不到了,我查看过/opt/ros/melodic中的相关包,roscore,roslaunch等命令都在。通过export查看环境变量,发现在PATH环境中ros的环境变量没有了,我已经在~/.bashrc文件中添加过source /opt/ros/melodic/setup.bashrc。新开终端后应该会自动将ros的环境变量加载进去,但是并没有,必须手动在source一遍才有。但是source了ros后,项目相关的环境变量就会消失,依然无法运行项目。
问题原因
经过调查验证发现原因如下:
当使用QT进行Ros包的编译后会导致Ros的环境变量失效。
解决方案
解决办法是删掉工作空间中的devel和build中的结果,使用ros的catkin_make进行功能包的编译。