由于需要一个与ROS消息交互的界面,因此基于此项目自己开发了一个界面,虽然环境配置过几次,但每次都没有彻底解决问题,出现ROS的qt库与qtcreator的库的混乱,这一次应该是彻底理清qt库的关系了。
项目编译
将下载的项目放在工作空间下的src目录下,然后catkin_make编译
出现问题:这里提示没有找到Qt5PositioningQuick
解决:这是因为ROS安装目录下的qt的cmake库没有这个qt5库,自己安装的qtcreator的库有。一种解决方法是在系统环境变量CMAKE_PREFIX_PATH中加上自己安装的qtcreator目录,或者在cmakelist.txt set (Qt5PositioningQuick_DIR /home/liangrongmin/Qt5.9.9/5.9.9/gcc_64
加上这个安装目录,这两者设置都治标不治本,特别是改变系统环境变量的设置,会导致引用的ROS相关的库与工具识别不了。 另一种方法是缺啥补啥,用sudo apt-get install qtpositioning5-dev
,其他的缺少qt5的库一样的做法,就不一一阐述了。
问题2:
解决:ROS库没有这个move_base_msgs消息类型,需要安装下,我的系统的是ubuntu20,因此使用的是ros-noetic-*,ubuntu16与18分别是kinetic和melodic
sudo apt-get install ros-noetic-move-base
问题3:/home/liangrongmin/catkin_ws/src/CMakeLists.txt:65: error: find_package(catkin) failed. catkin was neither found in the workspace nor in the CMAKE_PREFIX_PATH. One reason may be that no ROS setup.sh was sourced before.
解决:因为工作空间catkin_ws之前是用catkin build 编译的,用catkin_make编译冲突,因此删除了catkin build生成的文件,重新用catkin_make编译,cmake构建目录为编译生成的build目录
qml编程
报错1:module “QtQuick.Controls” version 2.1 is not installed
解决:sudo apt-get install qml-module-qtquick-controls2
报错2:module “QtPositioning” is not installed ,其他组件报错解决方法一样
sudo apt-get install qml-module-qtpositioning
感谢
非常感谢开发这个项目的博主,为我解答了很多问题,这次也是他帮忙提示我的,非常感谢!