关于 麒麟系统启动应用报错“undefined symbol: __cxa_throw_bad_array_new_length, version Qt_5“ 的解决方法_长沙红胖子Qt的博客-程序员宅基地

技术标签: 国产麒麟统信系统开发  qt  Qt开发  国企麒麟  开发语言  

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125516818

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:各种问题解决(点击传送门)

国产麒麟系统相关开发


问题

  在部署麒麟应用到目标硬件上运行出现"undefined symbol: __cxa_throw_bad_array_new_length, version Qt_5"。
  错误截图如下:
  在这里插入图片描述


提前做的工作

  1.提前使用虚拟机装麒麟测试了Qt,提前使用了几台物理机装麒麟测试了Qt都没有问题。


尝试解决

  1.将Qt版本更换为系统下的Qt版本,运行也是一样(只要部署应用的机子没有安装Qt),就算安装了Qt如果安装Qt的路径与开发机不一样也是一样报错。
  2.将安装的Qt版本的几个库,cp到/lib/x86…(系统放置运行库的路径下)替换几个Qt库,直接导致麒麟界面宕机。
  3.使用QCustomplot(使用opengl,安装了opengl),运行报同样错。
  4.使用QCustomplot(未使用opengl,关闭了opengl),运行报同样错。
  5.不带QCustomplot,运行可以显示(命令行运行)。


原因分析

  1.按照解决方法分析,与opengl无关,但是与QCustomplot控件有关。
  2.Qt5.12.8的库确实一样,但将Qt库拷贝到系统目录(仅QWidgets库)就导致麒麟桌面崩掉,基本可以判断麒麟是自己编译的Qt5.12.8的库。
  3.最终使用LD_LIBRARY_PATH可以将带QCustomplot运行的错误给消掉,


解决方法

  这个错误使用LD_LIBRARY_PATH=安装Qt的目录下的gcc_64/lib,则可以消除错误,并运行。


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125516818

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

智能推荐

XShell中安装MySQL失败:-bash: /usr/bin/mysqladmin: /lib/ld-linux.so.2: bad ELF interpreter: No such file o_-bash: /usr/bin/mysql: /lib/ld-linux.so.2: bad elf-程序员宅基地

mysqladmin --version报错:-bash: /usr/bin/mysqladmin: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory原因:由于缺少了glibc这个c运行库解决办法:先运行下面两条命令:yum install glibc.i686yum install libgcc.i686再次查看版本号:mysqladmin --version可以看出成功了感谢博客1感谢博客2_-bash: /usr/bin/mysql: /lib/ld-linux.so.2: bad elf interpreter: no such file

已知一条线段的两端点A(x1,y1),B(x2,y2)及线段外的任意一点P(px,py),设计一个程序找出线段中距离p最近的点_算法 已知距离求线段外的点-程序员宅基地

#include<stdio.h>typedef struct{ float x; float y;}Point;typedef struct{ Point p1; Point p2;}Line_segment;void initLine (Line_segment &L){ Point p; if(L.p1.x>L.p2.x) { ..._算法 已知距离求线段外的点

Linux点亮硬盘灯_linux点亮硬盘定位灯-程序员宅基地

查询所有槽位灯状态sd_led -q查询指定槽位灯状态sd_led -q {槽位号,如9或者sys0}点定位灯sd_led -i {槽位号} on灭定位灯sd_led -i {槽位号} off点故障灯sd_led -f {槽位号} on灭故障灯sd_led -f {槽位号} off..._linux点亮硬盘定位灯

微信公众号获取用户基本信息(UnionID机制)_微信获取用户基本信息(unionid机制-程序员宅基地

首先参考微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/User_Management/Get_users_basic_information_UnionID.html#UinonId我们可以通过access_token(是普通调用接口凭证,而非网页授权调用接口凭证)和openid(在自己的公众号配置中能找到)来获取用户基本信息。普通调用接口凭证获取方法请参照文档:https://developers.weixin.qq.com/doc/_微信获取用户基本信息(unionid机制

matplotlib去掉图例边框_matplotlib 图例无边框-程序员宅基地

plt.legend(frameon=False) _matplotlib 图例无边框

随便推点

idea自动生成代码神器EasyCode-程序员宅基地

EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置。支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。EasyCode能做什么?EasyCode是基于IntelliJ IDEA Ultimate版开发的一个代码生成插件,主要通过自定义模板(基于velocity)来生成各种你想要的代码。通常用于生成Enti

Node.js后端开发 - 基础篇 #9 web 服务器 part 1 介绍_nodejs 的web服务器是什么-程序员宅基地

文章目录web服务器请求和响应简单介绍实现一个简单的web服务器创建服务器实现监听响应纯文本代码优化简洁上一篇文章我们介绍了nodejs的流和管道,如:如何通过流去读取文件内容和写入数据到文件等。详见:Node.js后端开发 - 基础篇 #8 流和管道,这篇文章我们来介绍一下 http模块 ,它可以实现一个web服务器,那么什么是web服务器呢?web服务器请求和响应简单......_nodejs 的web服务器是什么

addContentView和setContentView的区别-程序员宅基地

两者的区别主要包括两点:1. 以添加UI组件是否被移除setContentView() 会导致先前添加的被移除, 即替换性的;而 addContentView() 不会移除先前添加的UI组件,即是累积性的2. 是否控制布局参数addContentView() 有两个参数, 可以控制布局参数; 你指出的这个setContentView 没有接受布局参数,默认使用MATC

hive LZO压缩-程序员宅基地

hive LZO压缩本文环境介绍:软件版本备注centos6.5hadoop2.7.12.7.*即可hive2.3.6lzo2.10需要独立安装1 lzo压缩1.1 lzo的简介1.1.1 lzo定义LZO 是致力于解压速度的一种数据压缩算法,相比于压缩比它更加追求速度,LZO 是 Lempel-Ziv-Oberhumer 的..._hive lzo压缩

ArcEngine 许可初始化问题-程序员宅基地

ArcEngine 许可初始化问题 今天用AE做拓扑,出现了这个错误提示“The application is not licensed to create or modify schema for this type of data”关于初始化Engine许可的,其实原理都很简单,大家一般都没有问题,但又往往会因为不够细心加上Engine的“小脾气”,让不少程序员都要在这里犯错。

mysql 如何监控innodb的阻塞-程序员宅基地

转载于:https://www.cnblogs.com/angdh/p/10667209.html

推荐文章

热门文章

相关标签