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

news/2024/12/28 22:36:15/文章来源:https://www.cnblogs.com/rui27/p/18637964

安装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能够正常使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/860589.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java-BLOG-3

一.前言: 期末测验: 本次测验主要是关于谷仓的体积的计算,一个是长方体,一个是圆柱体,比较两个体积的大小。第一个题目是算这两个体积的大小,第二个题目加上了圆锥体,第三个题目是从小到大排序这三个体积,并按需输出这三个体积。本次测验计算过程是不难的,主要是要注意…

云服务器内网无法相互访问

您好,关于您提到的云服务器内网无法相互访问的问题,我们已经进行了详细的排查和分析。根据您的描述,服务器在升级后出现了内网端口无法相互访问的情况,特别是127.0.0.1之间的通信出现问题,导致部分数据包丢失或无法正常连接特定端口(如2187)。此外,您还提到使用curl命令…

FTP读取目录总是失败

您好,关于您反馈的FTP读取目录总是失败的问题,我们已经进行了初步的排查和分析。根据您的描述,FTP连接本身是正常的,但在读取目录时遇到了失败。这种情况可能由多种原因引起,以下是我们为您提供的详细解决方案:FTP服务器配置检查:首先,请确认FTP服务器的配置是否正确。…

登录后台提示错误500

您好,关于您反馈的登录后台提示错误500的问题,我们已经进行了详细的排查和分析。根据您的描述,登录后台时遇到了500内部服务器错误,这通常是由于服务器端出现了某种异常导致的。以下是我们的分析和建议:数据库连接问题:您提到连接的是非本公司数据库,这可能是导致问题的…

2024第一届Solar杯应急响应挑战赛

学习2024第一届Solar杯应急响应挑战赛 附件密码:KzXGabLkDjs&j@3a&fAayNmD数据库 这里导入镜像有个问题会报错 Failed to write content to disk F:\长城杯+国赛\应急比赛\【题目】小题+综合题\solar\mssql\mssql\\mssql-disk1.vmdk. Reason: There is not enough spa…

【攻防技术系列】反弹shell:数据不出网

数据不出网:限制出网协议,不是所有的协议、IP不出网 不出网一般是针对出站的。流程: 1.判断出入站规则限制 2.判断出入限制的端口和协议 3.分析原因用正向、反向、隧道解决问题 产生原因: 主机、应用防火墙、云、工具出站限制 所有的限制都是相对于这台服务器 出站规则:自…

22207223-王颖对于家居强电电路模拟程序3~4的总结

一、前言 1.家居强电电路模拟程序3 1.1知识点 (1)面向对象编程(OOP)类与对象:需要设计多个类,如设备类(电路设备类)、受控设备类、控制设备类、串联电路类、并联电路类等。 继承与多态:受控设备类和控制设备类可以继承自电路设备类,利用继承实现代码复用和扩展。 接口与…

Android 系统架构

Android 大致可以分为四层架构: Linux 内核层, 系统运行库层, 应用框架层, 应用层.图 1 Android 系统架构Linux 内核层 Android 系统是基于 Linux 内核的,这一层为 Android 设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理…

五上数学第1次期末模拟情况反馈204班

五上数学第1次期末模拟情况反馈204班 本周进行了数学地1次期末模拟的综合练习,已经进行了讲评,但是没有讲评完毕,只讲到解决问题的第1题。试卷和答题卡已经下发,请学生带回家改完错误(改在答题卡上面,可能改到讲评的地方),家长签字。 签字在试卷的左上角,签字示范:家…

PCIe扫盲——Type0 Type1 型配置请求

前面的文章中介绍过有两种类型的配置空间,Type0和Type1,分别对应非桥设备(Endpoint)和桥设备(Root和Switch端口中的P2P桥)。 Type0还是Type1是由事务层包(TLP)包头中的Type Field所决定的,而读还是写则是由TLP包头中的Format Field所决定的。分别以下两张图所示:之前…

2024-2025-1 20241307《计算机基础与程序设计》第十四周学习总结

作业信息这个作业属于哪个课程 (2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 ([2024-2025-1计算机基础与程序设计第十四周作业]这个作业的目标作业正文 (2024-2025-1 学号20241307《计算机基础与程序设计》第十四周学习总结)教材学习内容总结 C语言程序设计第十三…

Blog-3 题目集7~8的总结

22207203-陈思思 一、前言 (一)第7次题目集(家居强电电路模拟程序-3)知识点:串联电路:电流相同,电压分配。 并联电路:电压相同,电流分配。 类的设计:电路设备类、受控设备类、控制设备类、串联电路类、并联电路类。 数据结构:使用列表或字典存储电路信息、设备状态。…