网站设计息,做网站充值微信必须是企业,企业网站建设需要的手续,php 网站做分享功能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是一个用于指定动态链接器在运行时搜索共享库的路径的环…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_DIRpwd
export APP_DIRpwd
export LD_LIBRARY_PATH$ARM_DIR/lib#lib是你的程序文件夹里面的库文件夹名字根据自己的修改
$APP_DIR/exeexe:你的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_COLORSrs0:di01;34:ln01;36:mh00:pi40;33:so01;35:do01;35:bd40;33;01:cd40;33;01:or40;31;01:mi00:
export LS_COLORS
resize/*添加下面两种不同的 /etc/profile内容时屏幕界面不正常显示出来个格子界面Mobaxter的串口通信界面显示堆栈错误*/ 经过逐行排查 是倒数第三行的问题
# 设置Qt平台为linuxfb并指定帧缓冲设备为/dev/fb0
export QT_QPA_PLATFORMlinuxfb:tty/dev/fb0
可以 指定正确的图形平台 如果您的系统使用的是 X11您应该设置 QT_QPA_PLATFORM 为 xcb export QT_QPA_PLATFORMxcb如果您的系统使用的是 Wayland则应该设置为 wayland export QT_QPA_PLATFORMwayland请根据您的系统配置选择正确的平台。
Wayland是显示服务器与客户端通信的协议库。Weston是Wayland的参考实现提供完整环境及测试程序。 2. 杠掉会自动用默认的 # 设置核心转储文件大小为0并将标准输出和标准错误重定向到/dev/null即丢弃所有输出
ulimit -S -c 0 /dev/null 21# 获取当前用户的用户名并将其存储在USER变量中
USERid -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_TSEVENTTYPEinput# 设置tslib配置文件的环境变量
export TSLIB_CONFFILE/qt/opt/tslib1.4/etc/ts.conf# 设置tslib插件目录的环境变量
export TSLIB_PLUGINDIR/qt/opt/tslib1.4/lib/ts# 设置控制台设备为none表示不使用控制台设备
export TSLIB_CONSOLEDEVICEnone# 设置帧缓冲设备为/dev/fb0
export TSLIB_FBDEVICE/dev/fb0# 设置LD_PRELOAD环境变量预加载tslib的库文件
export LD_PRELOAD$TSLIB_ROOT/lib/libts.so# 设置Qt的鼠标协议为tslib并使用之前提取的EVENT变量指定输入设备
export QWS_MOUSE_PROTOtslib:/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_PLATFORMlinuxfb:tty/dev/fb0# 设置Qt字体目录的环境变量
export QT_QPA_FONTDIR$QT_ROOT/lib/fonts# 设置Qt使用的通用插件为tslib
export QT_QPA_GENERIC_PLUGINStslib 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_CONSOLEDEVICEnone
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_PLATFORMlinuxfb:fb/dev/fb0
export QT_QPA_FONTDIR$QT_ROOT/lib/fonts
export QT_QPA_GENERIC_PLUGINStslib
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS/dev/input/event0:inverty
export QT_QPA_FB_TSLIB1
export LD_PRELOAD$TS_ROOT/lib/libts.so 报错 [roottopeet:/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那行直接注释掉即可 设置横屏 查看显示屏名称 使用 ls /sys/class/drm/ 命令查看显示屏名称如下图所示 可知我这里用的是DSI屏DSI-1就是屏幕的名称。另外还有HDMI屏等。
修改weston.ini配置文件 编辑 /etc/xdg/weston/weston.ini文件在文件末尾增加以下语句随后保存重启即可。
[output]
nameHDMI-A-1 //设备名称
transform90 //旋转角度为90度
我这里设置以后重启屏幕卡在kernel界面进不了桌面
参考文档使用
echo output:all:rotate90 /tmp/.weston_drm.conf # 所有屏幕旋转90度 解决。 至于原因参考设备树设置。官方文档或者其他博客都有介绍。 buildroot添加桌面应用 添加桌面应用需要准备三个文件 桌面图标文件、xxx.desktop文件、可执行应用文件 矢量图 阿里巴巴矢量图网站进行下载图标的尺寸为128x128 https://www.iconfont.cn/
xx.desktop文件
[Desktop Entry]
NameTouch # 应用名称
Exec/usr/bin/Touch # 执行命令
Icon/usr/share/icon/ico_touch.png # 图标路径
TypeApplication # 类型应用程序//我用的是
[Desktop Entry]
NameUsart # 应用名称
Exec/qt/opt/untitled2 # 执行命令
Icon/usr/share/icon/sdw.png # 图标路径
TypeApplication # 类型应用程序可执行应用文件 交叉编译得到的 qt可执行程序。
开发板上的准备 图标文件放到 /usr/share/icon 应用程序 随便放可以是 /usr/bin 配置文件 .desktop放到 /usr/share/applications 然后重启开发板就可以看到效果 可执行程序开机自启动
1. 使用init.d脚本 对于使用Linux系统的RK3568开发板可以通过在/etc/init.d/目录下添加一个自启动脚本并设置其权限和启动顺序来实现开机自启动。
步骤 创建脚本在/etc/init.d/目录下创建一个新的脚本文件例如mystartup.sh。 编辑脚本在脚本文件中添加启动你的可执行程序的命令。例如
#!/bin/sh # 使用sh解释器执行此脚本
/usr/bin/myexecutable # 在后台启动myexecutable程序 确保将/usr/bin/myexecutable替换为你的可执行程序的实际路径。 重新加载systemd配置使用systemctl daemon-reload命令重新加载systemd配置。 启用服务使用systemctl enable mystartup.service命令启用服务使其在开机时自动启动。
2. 修改rcS文件针对Buildroot系统 如果你的RK3568开发板使用的是Buildroot构建的系统并且根文件系统是基于BusyBox的你可以直接在/etc/init.d/rcS文件中添加启动命令。
步骤 编辑rcS文件使用文本编辑器打开/etc/init.d/rcS文件。 添加启动命令在文件的末尾或其他合适的位置添加启动你的可执行程序的命令。例如
/usr/bin/myexecutable