ROS: Cannot mix incompatible Qt library (version 0x50905) with this library (version 0x50c01)-程序员宅基地

技术标签: QT  不兼容  ROS  

错误

开始尝试使用rosrun turtlesim turtlesim_node运行ROS的入门样例时,出现这样的错误:Cannot mix incompatible Qt library (version 0x50905) with this library (version 0x50c01) Aborted (core dumped)

根据提示可以判断是QT的版本不兼容导致的错误,百度知道查看当前QT版本:

$ qmake -v
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu

发现QT的版本是4.8.x。使用命令qtchooser -l查看:

$ qtchooser -l
4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5

电脑中可以看到QT4和QT5是都有的,想着去切换QT的版本到5应该可以,结果没找到很好的方案。

参考了这篇文章:https://answers.ros.org/question/331375/tutrlesim_node-fails-due-to-incompatible-qt-library/

查看~/.bashrc文件,发现:

# CoppeliaSim
export COPPELIASIM_ROOT=/path_to_coppeliasim/CoppeliaSim_Edu_V4_0_0_Ubuntu18_04
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COPPELIASIM_ROOT
export QT_QPA_PLATFORM_PLUGIN_PATH=$COPPELIASIM_ROOT

发现这里面涉及到了QT的部分,将LD_LIBRARY_PATHQT_QPA_PLATFORM_PLUGIN_PATH注释掉,关掉所有的terminal或者source一下,重新运行即可解决原来的问题。

可以看到CoppeliaSim需要的QT的版本是5.12.x

[xxx@xxx:~/Softwares/CoppeliaSim_Edu_V4_0_0_Ubuntu18_04]$ ls | grep Qt5
libQt53DCore.so
libQt53DCore.so.5
libQt53DCore.so.5.12
libQt53DCore.so.5.12.5
libQt53DExtras.so
libQt53DExtras.so.5
libQt53DExtras.so.5.12
libQt53DExtras.so.5.12.5
libQt53DInput.so
libQt53DInput.so.5
libQt53DInput.so.5.12
libQt53DInput.so.5.12.5
libQt53DLogic.so
libQt53DLogic.so.5
libQt53DLogic.so.5.12
libQt53DLogic.so.5.12.5
libQt53DRender.so
libQt53DRender.so.5
libQt53DRender.so.5.12
libQt53DRender.so.5.12.5
libQt5Concurrent.so
libQt5Concurrent.so.5
libQt5Concurrent.so.5.12
libQt5Concurrent.so.5.12.5
libQt5Core.so
libQt5Core.so.5
libQt5Core.so.5.12
libQt5Core.so.5.12.5
libQt5DBus.so
libQt5DBus.so.5
libQt5DBus.so.5.12
libQt5DBus.so.5.12.5
libQt5Gamepad.so
libQt5Gamepad.so.5
libQt5Gamepad.so.5.12
libQt5Gamepad.so.5.12.5
libQt5Gui.so
libQt5Gui.so.5
libQt5Gui.so.5.12
libQt5Gui.so.5.12.5
libQt5Network.so
libQt5Network.so.5
libQt5Network.so.5.12
libQt5Network.so.5.12.5
libQt5OpenGL.so
libQt5OpenGL.so.5
libQt5OpenGL.so.5.12
libQt5OpenGL.so.5.12.5
libQt5PrintSupport.so
libQt5PrintSupport.so.5
libQt5PrintSupport.so.5.12
libQt5PrintSupport.so.5.12.5
libQt5SerialPort.so
libQt5SerialPort.so.5
libQt5SerialPort.so.5.12
libQt5SerialPort.so.5.12.5
libQt5Widgets.so
libQt5Widgets.so.5
libQt5Widgets.so.5.12
libQt5Widgets.so.5.12.5
libQt5XcbQpa.so
libQt5XcbQpa.so.5
libQt5XcbQpa.so.5.12
libQt5XcbQpa.so.5.12.5
libQt5Xml.so
libQt5Xml.so.5
libQt5Xml.so.5.12
libQt5Xml.so.5.12.5

找到系统中的QT的版本5.9.x

[xxx@xxx:/usr/lib/qt5/bin]$ ls
assistant  fixqt4headers.pl  linguist  lupdate  pixeltool             qdbus         qdbusviewer   qdoc            qhelpgenerator  qmake                  qtdiag   qtplugininfo  syncqt.pl
designer   lconvert          lrelease  moc      qcollectiongenerator  qdbuscpp2xml  qdbusxml2cpp  qhelpconverter  qlalr           qtattributionsscanner  qtpaths  rcc           uic

[xxx@xxx:/usr/lib/qt5/bin]$ ./qmake -v
QMake version 3.1
Using Qt version 5.9.5 in /usr/lib/x86_64-linux-gnu

不知道是4.8.x5.12.x的矛盾,还是5.9.x5.12.x的矛盾

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41009742/article/details/108354792

智能推荐

vue3背景下,el-input嵌套在弹出框中,自动聚焦“失效”?如何实现自动聚焦_vue3 el-input 自动聚焦autofocus无效-程序员宅基地

文章浏览阅读436次,点赞15次,收藏2次。原因或许是,使用autofocus时,确实聚焦了!但是当我们又点击 显示弹出框的按钮时,input又失焦了,所以当我们看到input框时,没有自动聚焦。_vue3 el-input 自动聚焦autofocus无效

linux网络服务配置说课,《说课稿LINUX》PPT课件.ppt-程序员宅基地

文章浏览阅读222次。《《说课稿LINUX》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《说课稿LINUX》PPT课件.ppt(16页珍藏版)》请在装配图网上搜索。1、LINUX 基础应用与配置管理 桂林山水职业学院计算机系 朱笑雷 主要内容 课程定位 1 课程内容设置 2 教学方法与手段 3 教材建设 4 教学团度 5 主要内容 实践条件 6 课程考核 7 教学效果 8 课程特色 9 建设思路 10 一、课..._linux说课课件

在SpringBoot中启动时关于连接数据库失败的问题_springboot启动时数据库连接失败 不关闭-程序员宅基地

文章浏览阅读2.2k次。#在SpringBoot中启动时关于连接数据库失败的问题对照了application.yml,发现配置文件貌似没什么问题,但是在查找信息之后,发现问题正是出现在application.yml中问题出于datasource下的data-username和data-password只要将data-username和data-password改为username和password即可..._springboot启动时数据库连接失败 不关闭

antd-pro(V5)动态菜单_antdpro的菜单-程序员宅基地

文章浏览阅读4.6k次。一般情况下登录系统后菜单是由后端返回的,不是前端写死的。antd-pro也支持,修改的路径在app.tsx在 layout 里加一个menuDataRender字段先给一个() =>[]可以看到左侧菜单没了,说明配置生效了,接下来就可以围绕这个配置做文章了,我们先定义一个 menuDataRender方法。根据登录缓存到本地的数据做下处理,判断菜单里要展示哪些内容(比如替换字段,隐藏不显示的菜单,隐藏按钮等),处理好了后返回一个数组结构即可。示例代码如下export const layout: _antdpro的菜单

Linux安装使用jprofiler6分析服务器应用状态-程序员宅基地

文章浏览阅读77次。为什么80%的码农都做不了架构师?>>> ..._jprofiler6 key

苏小红C语言第四版课后习题练习7.7最大公约数三种计算方式_c语言程序设计第四版课后题答案苏小红第七章-程序员宅基地

文章浏览阅读170次。(可以看出递归算法更加侧重于计算的技巧,并且计算机计算的次数也相对更少);_c语言程序设计第四版课后题答案苏小红第七章

随便推点

视频格式转换器榜单:10 款最值得拥有的高清视频转换器_奇客视频转换-程序员宅基地

文章浏览阅读560次。如果您想在计算机或任何其他设备上播放高质量的视频,高清视频转换器可以帮助确保您的视频与您的操作系统和硬件兼容。您还可以使用高清转换器更改视频的分辨率,无论您是想提高质量还是降低分辨率以生成更小的文件。在下表中,我们描述了用于转换高清视频的最流行和可用的桌面程序和在线服务。它们各有优缺点,因此请根据您的需要进行选择。_奇客视频转换

Unity血条效果,图片动画_游戏血条动图-程序员宅基地

文章浏览阅读1.9k次。欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频,我们致力于打造业内unity3d培训、学习第一品牌。今天开始做我们的游戏了,组长给分配了任务,我负责做剧情动画,人物血条和种植植物。 一、剧情动画 动画是以多个图片的形式展现的,图片是自己制作的。 private GUITextu_游戏血条动图

环境变量的加载顺序、环境变量集合_环境变量的顺序-程序员宅基地

文章浏览阅读1k次。*******字符编码ASCII,GB2312,GBK,Unicode,UTF-8比较参考:https://blog.csdn.net/softwarenb/article/details/51994943**环境变量的加载顺序:Mac系统的环境变量,加载顺序为:a. /etc/profileb. /etc/pathsc. ~/.bash_profiled. ~/..._环境变量的顺序

科学家发现让人类幸福感飙升的密码!给大脑植入这个算法 | 精选-程序员宅基地

文章浏览阅读316次。▼大型年度AI人物评选——2017中国AI英雄风云榜已于12月4日在乌镇张榜,12月18日在北京国贸三期举行颁奖典礼。榜单评选出年度技术创新人物TOP 10;商业创新人物TOP 10,获取完整榜单请关注网易智能公众号(ID:smartman163),回复关键词“评奖”。本文系网易智能工作室出品聚焦AI,读懂下一个大时代【网易智能讯12月10日消息】不只有你会_人类大脑植入代码

正则表达式匹配中括号内的内容_正则<>里内容-程序员宅基地

文章浏览阅读3.6k次。几经研究, 终于实现了。time[2020-06-04 11:43:36](?<=\[)(.*)(?=])(pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。 (?:pattern) 匹配 pattern 但不获取匹配结..._正则<>里内容

C++程序启动时报“R6030 CRT not initialized”错误_r6030 -crt not initialized-程序员宅基地

文章浏览阅读1.4w次,点赞11次,收藏12次。SPY++工具注入到C++程序的进程中,导致程序启动时报“R6030 CRT not initialized”错误,本文将讲解该问题的排查过程。_r6030 -crt not initialized