设置Linux开发板开机自启动QT程序的报错解决办法

ops/2024/9/22 16:24:06/

设置Linux开发板开机自启动QT程序报错解决办法

设置开发板开机自启动QT

打开 /etc/init.d/rsC 文件,添加以下内容

cd /
./my_start_run.sh

my_start_run.sh 是自己编写的自启动脚本,内容例如下:(也可以将这些直接写到 /etc/init.d/rsC 文件最后)

PS:下面这个脚本是最终的脚本,文章所展示的是我解决问题的调试过程,最后发现只需要加一句 source /etc/profile 即可

# 自启动程序source /etc/profile   # 刷新Qt的运行环境######### 下面是自己的自启动程序 #########
./qt_projects/01.智能家居/insmod.sh  # 加载驱动sleep 2 echo "01_test_v2 run......"./qt_projects/01.智能家居/01_test_v2 &  # 运行QT程序,&表示在后台运行
报错一:error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

但是开发板启动后报错了,报错信息如下:
在这里插入图片描述

  • 解决报错:设置链接库路径

    在移植QT的时候我们设置了一些链接库的路径,终端里运行

echo $LD_LIBRARY_PATH

在这里插入图片描述

将这些路径复制下来,添加到 LD_LIBRARY_PATH 环境变量中,添加内容后的启动脚本如下所示

#!/bin/shexport LD_LIBRARY_PATH=/usr/lib/arm-qt/lib:/usr/lib/arm-qt/plugins/platforms:/usr/lib/arm-tslib/lib:$LD_LIBRARY_PATH  # 设置动态连接库路径######### 下面是自己的自启动程序 #########
# 自启动程序
./qt_projects/01.智能家居/insmod.sh  # 加载驱动sleep 2 
echo "01_test_v2 run......"
./qt_projects/01.智能家居/01_test_v2 &  # 运行QT程序,&表示在后台运行

然后重启开发板,出现新报错

qtqpaplugin_Could_not_find_the_Qt_platform_plugin_linuxfb_in__70">报错二:qt.qpa.plugin: Could not find the Qt platform plugin “linuxfb” in “”

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=Typora_images%2F%E8%AE%BE%E7%BD%AE%E5%BC%80%E6%9C%BA%E5%90%AF%E5%8A%A8QT%E7%A8%8B%E5%BA%8F%E6%8A%A5%E9%94%99%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95.assets%2Fimage-在这里插入图片描述
.png&pos_id=img-QXpoSxcP-1713850274268)

  • 解决报错:设置Qt 应用程序查找插件的路径

终端运行如下命令

echo $QT_PLUGIN_PATH

在这里插入图片描述

将这些路径复制下来,添加到 QT_PLUGIN_PATH 环境变量中,添加内容后的启动脚本如下所示

#!/bin/shexport LD_LIBRARY_PATH=/usr/lib/arm-qt/lib:/usr/lib/arm-qt/plugins/platforms:/usr/lib/arm-tslib/lib:$LD_LIBRARY_PATH  # 设置动态连接库路径export QT_PLUGIN_PATH=/usr/lib/arm-qt/plugins  # 指定 Qt 插件路径######### 下面是自己的自启动程序 #########
# 自启动程序
./qt_projects/01.智能家居/insmod.sh     # 加载驱动sleep 2 
echo "01_test_v2 run......"
./qt_projects/01.智能家居/01_test_v2 &  # 运行QT程序,&表示在后台运行

然后重启开发板,出现新报错

报错三:random: nonblocking pool is initialized

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-’
QFontDatabase: Cannot find font directory /home/me/qt-everywhere-src-5.12.9/arm-qt/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.

在这里插入图片描述

  • 解决报错

终端运行如下命令,获取 XDG_RUNTIME_DIR 环境变量的值

echo $XDG_RUNTIME_DIR

在这里插入图片描述

在系统中寻找 fonts 文件

find / -name "fonts"

在这里插入图片描述

将这些路径复制下来,修改启动脚本如下所示

#!/bin/shexport LD_LIBRARY_PATH=/usr/lib/arm-qt/lib:/usr/lib/arm-qt/plugins/platforms:/usr/lib/arm-tslib/lib:$LD_LIBRARY_PATH  # 设置动态连接库路径export QT_PLUGIN_PATH=/usr/lib/arm-qt/plugins  # 指定 Qt 插件路径export XDG_RUNTIME_DIR=/usr/lib   # Qt 将使用默认的运行时目录export QT_QPA_FONTDIR=/usr/share/fonts   # Qt加载字体的目录######### 下面是自己的自启动程序 #########
# 自启动程序
./qt_projects/01.智能家居/insmod.sh     # 加载驱动sleep 2 
echo "01_test_v2 run......"
./qt_projects/01.智能家居/01_test_v2 &  # 运行QT程序,&表示在后台运行

在这里插入图片描述


http://www.ppmy.cn/ops/15181.html

相关文章

嬴图| ISO/IEC-GQL国际图语言标准发布,图技术开启新纪元

GQL作为继SQL之后的第二个数据库查询语言国际标准,近日正式发布。这标志着图技术开启新纪元——图时代即将到来! 同时,这也预示着将有越来越多的组织采用“图”来解决各种复杂问题,更意味着SQL系统与负载将逐渐转向GQL&#xff0…

【深度学习】Attention、Self-Attention、Multi-Head Attention

一、Attention 在CV领域,注意力机制通常分为通道注意力和空间注意力或者两者结合。 一张图像经backbone得到的特征通常包括多个通道,每个通道是一个像素矩阵,每个通道对任务的贡献不尽相同,单个通道的特征图中每个像素对任务的贡…

MariaDB简介

MariaDB是一个关系数据库管理系统(RDBMS),是MySQL的一个分支,主要由开源社区维护和开发。 一, MariaDB的来历 1. **起源**:MariaDB的诞生与MySQL的所有权变更有关。MySQL最初由MySQL AB公司开发&#xff…

Oracle交换分区测试

1、用exchange分区表减少初始化过程中对业务中断的影响 2、创建分区表 create table t_p (id number,name varchar2(30),addr varchar2(50)) partition by range(id) (partition p1 values less than(10), partition p2 values less than(20), partition p3 values less …

Java Web常见框架

1、Spring Framework Spring是一个非常强大的框架,用于构建企业级应用程序。它提供了全面的编程和配置模型。 2、Spring Boot 基于Spring,它简化了配置过程,使得启动和运行基于Spring的应用程序变得更快,更容易。 3、Hibernat…

云原生Kubernetes: K8S 1.29版本 部署Kuboard

目录 一、实验 1.环境 2.K8S 1.29版本 部署Kuboard (第一种方式) 3.K8S 1.29版本 部署Kuboard (第二种方式) 4.K8S 1.29版本 使用Kuboard 二、问题 1.docker如何在node节点间移动镜像 一、实验 1.环境 (1)主机 表1 主机 主机架构版本IP备注ma…

iTwin Capture Modeler-23中文版下载地址及安装教程

文章目录 一、iTwin Capture Modeler23中文版安装教程二、iTwin Capture Modeler23中文版下载地址一、iTwin Capture Modeler23中文版安装教程 1. 解压安装包。订阅专栏(可获取专栏内所有文章阅读权限与软件安装包)后,从文末获取安装包解压,如下所示: 2. 右击安装包,选择以…

麒麟龙芯loongarch64 electron 打包deb包

在麒麟龙芯(loongarch64)电脑上 使用electron 开发桌面应用。之前用electron-packager 打包出来的是文件夹 是 unpack 包。现在需要打包deb包,依据开发指南开始打包。 在项目文件夹下 打开终端 输入 npm run packager 先打包unpack包 然后…