安装Qt
Qt老版本采用离线安装,新版本采用在线安装器安装,在官网安装速度很慢,一般在国内的源下载。
在中科大源下载Qt在线安装器http://mirrors.ustc.edu.cn/qtproject/official_releases/online_installers/
安装依赖
sudo apt install gcc g++ make cmake build-essential libgl1-mesa-dev
sudo apt install libxcb-cursor0 libxcb-cursor-dev
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
安装
sudo ./qt-unified-linux-x64-online.run
其他选项默认即可,若电脑空间充足可直接安装所有组件,空间不足只需第一个即可,后续也可以再添加
剩余部分都点下一步即可,国内源一般很快就能完成安装
安装qml ros plugin插件
先安装ros_babel_fish功能包,这是上述插件依赖的功能包,打开终端执行以下指令:
sudo apt-get update
sudo apt-get install ros-noetic-ros-babel-fish
输入sudo apt-get install ros-noetic-ros-后按TAB键补齐命令,在后续编译qml_ros_plugin源码的时候也会缺少功能包,用此方法能快速安装所需的功能包
在gihub下载qml_ros_plugin源码 https://github.com/StefanFabian/qml_ros_plugin
在README中下拉到Installation部分,根据指示完成安装,其中cmake环节会缺少许多功能包,根据报错提示和apt-get install的补齐功能依次安装好就行
tips:编译好的功能包会放在/usr/lib/x86_64-linux-gnu/qt5的路径下,后续在qt creator中导入插件的路径时需要用到
在qt creator中导入qml ros plugin插件
在main.qml顶部导入插件import Ros 1.0
,出现下图中第一个报错,提示找不到qml组件
我们需要在.pro文件中添加qml组件的路径,如下图所示:
导入qml插件后第一个报错消失,但编译工程时在底部仍然报错
libimage_transport.so: 无法打开共享对象文件: 没有那个文件或目录
这是由于编译环境没有配置好,qml_ros_plugin插件需要调用image_transport功能包,但无法找到此功能包
原因可能有以下两个:
1、为安装此功能包
2、安装了但找不到此功能包
首先打开终端,利用apt-get install安装功能包
sudo apt-get install image-transport-tools
随后在qt creator中项目的build environment部分导入次功能包的链接,如下图所示:
重新编译,报错解决,qml_ros_plugin能够正常使用