Ubuntu20.04安装Qt5.15.2并配置qml_ros_plugin插件

安装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
随后用find命令找到image-transpoet.so的链接位置

在qt creator中项目的build environment部分导入次功能包的链接,如下图所示:

重新编译,报错解决,qml_ros_plugin能够正常使用

posted @ 2024-12-28 22:31  Rui27  阅读(791)  评论(0)    收藏  举报