qt移植到arm报错动态库找不到

error while loading shared libraries: libAlterManager.so.1: cannot open shared object file: No such file or directory
 

        通过设置环境变量 LD_LIBRARY_PATH就行了。

    LD_LIBRARY_PATH是一个用于指定动态链接器在运行时搜索共享库的路径的环境变量

例如:
前提:所有用到的文件包括库文件都在你程序目录下。
①在你程序目录下创建一个脚本文件test.sh
②编辑test.sh

export ARM_DIR=`pwd`
export APP_DIR=`pwd`
export LD_LIBRARY_PATH=$ARM_DIR/lib#lib是你的程序文件夹里面的库文件夹,名字根据自己的修改
$APP_DIR/exe(exe:你的arm程序)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在讯为给的资料中,一个是 etc/profile配置文件中,配置了

讯为提供的内核镜像 /etc/profile原版

export PATH=/bin:/sbin:/usr/bin:/usr/sbinif [ "$PS1" ]; thenif [ "`id -u`" -eq 0 ]; thenexport PS1='[\u@\h:\w]# 'elseexport PS1='[\u@\h:\w]$ 'fi
fiexport PAGER='/bin/more '
export EDITOR='/bin/vi'# Source configuration files from /etc/profile.d
for i in /etc/profile.d/*.sh ; doif [ -r "$i" ]; then. $ifiunset i
done
export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:
export LS_COLORS
resize

/*添加下面两种不同的 /etc/profile内容时,屏幕界面不正常显示,出来个格子界面,Mobaxter的串口通信界面显示堆栈错误*/

经过逐行排查 ,是倒数第三行的问题

# 设置Qt平台为linuxfb,并指定帧缓冲设备为/dev/fb0
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0

可以

  1. 指定正确的图形平台
    如果您的系统使用的是 X11,您应该设置 QT_QPA_PLATFORM 为 xcb

    export QT_QPA_PLATFORM=xcb

    如果您的系统使用的是 Wayland,则应该设置为 wayland

    export QT_QPA_PLATFORM=wayland

    请根据您的系统配置选择正确的平台。

   2. 杠掉,会自动用默认的

 

# 设置核心转储文件大小为0,并将标准输出和标准错误重定向到/dev/null,即丢弃所有输出
ulimit -S -c 0 > /dev/null 2>&1# 获取当前用户的用户名,并将其存储在USER变量中
USER="`id -un`"# 将LOGNAME变量设置为与USER变量相同的值
LOGNAME=$USER# 设置PS1环境变量,定义命令行提示符的格式
# 这里的格式是:[用户名@主机名]:当前工作目录#
PS1='[$USER@$HOSTNAME]:$PWD# '# 将PATH环境变量设置为其当前值(这里实际上是多余的,因为后面没有改变PATH的值)
PATH=$PATH# 获取主机名,并将其存储在HOSTNAME变量中
HOSTNAME=`/bin/hostname`# 导出USER, LOGNAME, PS1, PATH, HOSTNAME变量,使它们在当前shell会话及其子进程中可用
export USER LOGNAME PS1 PATH HOSTNAME# 从/proc/bus/input/devices文件中查找包含'ft5x06'或'goodix-gt911'的行及其后4行
# 然后从这些行中提取第95个字符之前的字符串(实际上是取倒数第5到第10个字符,因为tail -n1取的是最后一行)
# 最后,使用cut命令从第13到第18个字符之间提取事件设备名称,存储在EVENT变量中
EVENT=$(cat /proc/bus/input/devices | grep -E 'ft5x06|goodix-gt911' -A4 | tail -n1 | head -c 95 | cut -c13-18)# 设置tslib的根目录环境变量
export TSLIB_ROOT=/qt/opt/tslib1.4# 设置Qt的根目录环境变量
export QT_ROOT=/qt/opt/qt5.15.2# 设置触摸屏输入设备的环境变量,使用之前从/proc/bus/input/devices中提取的EVENT变量
export TSLIB_TSDEVICE=/dev/input/$EVENT# 设置触摸屏事件类型的环境变量
export TSLIB_TSEVENTTYPE=input# 设置tslib配置文件的环境变量
export TSLIB_CONFFILE=/qt/opt/tslib1.4/etc/ts.conf# 设置tslib插件目录的环境变量
export TSLIB_PLUGINDIR=/qt/opt/tslib1.4/lib/ts# 设置控制台设备为none,表示不使用控制台设备
export TSLIB_CONSOLEDEVICE=none# 设置帧缓冲设备为/dev/fb0
export TSLIB_FBDEVICE=/dev/fb0# 设置LD_PRELOAD环境变量,预加载tslib的库文件
export LD_PRELOAD=$TSLIB_ROOT/lib/libts.so# 设置Qt的鼠标协议为tslib,并使用之前提取的EVENT变量指定输入设备
export QWS_MOUSE_PROTO=tslib:/dev/input/$EVENT# 设置LD_LIBRARY_PATH环境变量,包含多个库目录,确保运行时能找到所需的库文件
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:$QT_ROOT/lib:$TSLIB_ROOT/lib:$TSLIB_ROOT/lib/# 设置Qt平台插件目录的环境变量
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins# 设置Qt平台为linuxfb,并指定帧缓冲设备为/dev/fb0
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0# 设置Qt字体目录的环境变量
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts# 设置Qt使用的通用插件为tslib
export QT_QPA_GENERIC_PLUGINS=tslib

export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM#放入的tslib目录
export TS_ROOT=/usr/local/tslib    
export LD_LIBRARY_PATH=$TS_ROOT/lib:$LD_LIBRARY_PATH
export PATH=$TS_ROOT/bin:$PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=$TS_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TS_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TS_ROOT/lib/ts
# qt
# 放入的qt目录
export QT_ROOT=/usr/local/qt   
export LD_LIBRARY_PATH=$QT_ROOT/lib/:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export QT_QPA_GENERIC_PLUGINS=tslib
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0:inverty
export QT_QPA_FB_TSLIB=1
export LD_PRELOAD=$TS_ROOT/lib/libts.so

报错

[root@topeet:/qt/opt]# ./tslib1.4/bin/ts_calibrate
fopen: No such file or directory
Couldnt load module linear
ts_config: No such file or directory
ts_setup: No such file or directory
 

解决

        将 ts.conf中的module linear那行直接注释掉即可

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

GoogleMIT:多智能体医疗决策框架MDAgents

|记昨日与国内某Top 1&2 医院科室老师及团队探讨技术、医学、信仰与责任而有感而发。 生成式基础大模型正在成为临床辅助甚至医学探索领域的宝贵工具。尽管我们在国内看到了很多企业或实验室联合医疗机构在如医疗记录生成、临床表型辅助诊疗、医疗知识问答交互、医院管理决…

【数据库】深入解析慢 SQL 的识别与优化策略

文章目录 什么是慢 SQL?慢 SQL 的危害如何检测分析慢 SQL使用 MySQL 慢查询日志利用 EXPLAIN 分析执行计划通过 Profiling 获取详细执行信息借助慢 SQL 收集分析平台 实际案例解析:600秒的慢 SQL 优化之旅问题描述初步分析优化步骤1. 优化 SQL 语句结构2…

高校大数据人工智能教学沙盘分享

大数据教学实训沙盘(TipDM-SP)是根据企业实际项目建设而成,并提供沙盘配套装置、软件以及教学实训资源。沙盘的作用主要有3个: 1、采集真实数据,解决教学中缺少真实数据的困扰; 2、形成从数据…

【C++】string模拟实现

各位读者老爷好,俺最近在学习string的一些知识。为了更好的了解string的结构,俺模拟实现了一个丐版string,有兴趣的老爷不妨垂阅!!! 目录 1.string类的定义 2.模拟实现成员函数接口 2.1.constructor&am…

c_str()函数 string类型转换成char*类型 C++实现

问题:在 class 的构造函数中,如果我们在类中初始化了 char * 类型,在调用构造函数时,如果直接传入字符串( string )类型,编译器会提出如下警告: 想要消除这个警告,就需要将 string 类型的变量转…

【vue3文件上传同时出现两个提示框,一个提示成功,一个提示失败,一个是用写死的,一个是接口返回的】

文件上传同时出现两个提示框,一个提示成功,一个提示失败,一个是用写死的,一个是接口返回的 原因: 接口返回的是字符串code200" 把判断的code码改为字符串的就好了

选择哪种Facebook广告目标更有效

在Facebook广告投放中,广告目标的选择决定了投放效果和转化率,但很多人往往忽略了这一步的细节。今天,我们来一起看看Facebook广告目标有哪些,以及如何精准选择! 1. 广告目标在投放中的重要性 广告目标不仅仅是一…

matlab实现主成分分析方法图像压缩和传输重建

原创 风一样的航哥 航哥小站 2024年11月12日 15:23 江苏 为了研究图像的渐进式传输技术,前文提到过小波变换,但是发现小波变换非常适合传输缩略图,实现渐进式传输每次传输的数据量不一样,这是因为每次变换之后低频成分大约是上一…

【缓存策略】你知道 Cache Aside(缓存旁路)这个缓存策略吗

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

稀疏视角CBCT重建的几何感知衰减学习|文献速递-基于深度学习的病灶分割与数据超分辨率

Title 题目 Geometry-Aware Attenuation Learning forSparse-View CBCT Reconstruction 稀疏视角CBCT重建的几何感知衰减学习 01 文献速递介绍 稀疏视角锥形束计算机断层扫描(CBCT)重建的几何感知学习方法 锥形束计算机断层扫描(CBCT&a…

电子应用产品设计方案-3:插座式自动温控器设计

一、设计 插座式自动温控器作为一种便捷的温度控制设备,在日常生活和工业应用中发挥着重要作用。它能够根据环境温度的变化自动控制连接设备的电源通断,实现对温度的精确调节和节能控制。本设计旨在提供一种功能强大、易于使用、安全可靠的插座式自动温控…

机器学习—神经网络的Softmax输出

为了建立一个能进行多类分类的神经网络,将采用Softmax回归模型,把它放入神经网络的输出层,如何实现? 当我们用两门课做手写数字识别的时候,我们使用这种架构的神经网络,如果你现在想用十个类进行手写数字分…

web——sqliabs靶场——第五关——报错注入和布尔盲注

这一关开始上强度了,不回显东西了,又要学到新的东西了 发现它没有正确的回显,学到了新知识,报错注入 报错注入 什么是报错注入: MySQL提供了一个 updatexml() 函数,当第二个参数包含特殊符号时会报错&am…

【JavaScript】LeetCode:86-90

文章目录 86 只出现一次的数字87 颜色分类88 下一个排列89 寻找重复数90 前K个高频元素 86 只出现一次的数字 异或x ^ x 0,x ^ 0 x,相同为0,相异为1,且满足交换律。例如:[4, 1, 2, 1, 2] > 1 ^ 1 ^ 2 ^ 2 ^ 4 0 …

CSS回顾-基础知识详解

一、引言 在前端开发领域,CSS 曾是构建网页视觉效果的关键,与 HTML、JavaScript 一起打造精彩的网络世界。但随着组件库的大量涌现,我们亲手书写 CSS 样式的情况越来越少,CSS 基础知识也逐渐被我们遗忘。 现在,这种遗…

Spring Boot编程训练系统:构建可扩展的应用

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了编程训练系统的开发全过程。通过分析编程训练系统管理的不足,创建了一个计算机管理编程训练系统的方案。文章介绍了编程训练系统的系统分析部分&…

点云论文阅读-1-pointnet++

pointnet局限性:不能获取局部结构信息 作者提出pointnet需要解决的问题: 如何生成点云的分区(需要保证每一个分区具有相似的结构,使学习算法的参数在局部共享)如何通过一个局部特征学习算法抽象点云或局部特征 解决…

Summaries 总结

Goto Data Grid 数据网格 Summaries 摘要 Summary Types 摘要类型 Total Summary 总摘要 汇总总数 (GridSummaryItem) 将针对所有数据网格记录进行计算,并显示在视图页脚中。启用 View 的 OptionsView.ShowFooter 设置以显示视图页脚。 …

MySQL技巧之跨服务器数据查询:基础篇-如何获取查询语句中的参数

MySQL技巧之跨服务器数据查询:基础篇-如何获取查询语句中的参数 上一篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQL 以…

unity3d————协程练习题

1.计秒器: void Start(){StartCoroutine(MyCoroutine());}IEnumerator MyCoroutine(){int time 0;while(true){print(time "秒");time;yield return new WaitForSeconds(1);}} 结果: 2.生成多个cude (不卡顿)&#x…