若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127443949
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)
Qt开发专栏:各种问题解决(点击传送门)
国产麒麟系统相关开发
问题
按照ubuntu使用脚本启动Qt应用的常规方式,在银河麒麟上无法启动。
解决过程
在文件夹直接点击运行runApp.sh,执行如下:
分析
中标麒麟V5上,在caja文件管理器里,双击runApp.sh后,对脚本运行的目录,是指的当前目录。
在银河麒麟V10上,其使用了自研的peony文件管理器,双击runApp.sh后:
- 对脚本运行的目录,脚本里的pwd会输出“/home/yang”;
- 在桌面,脚本里的pwd会输出“/home/yang/桌面“;
- 控制台里,脚本里的pwd会输出脚本所在路径)。
修改方式
#!/bin/sh
# 获取脚本的实际路径
shellPath="$(readlink -f "${0}")"
# 脚本实际路径,与可执行程序的路径,是同一个目录
shellDir="$(dirname "${shellPath}")"
# 根据实际设置
appName="xCameraDebugTool"
appDir="${shellDir}"
# 输出
echo ${appDir}/${appName} > 3
统一解决方式
#!/bin/sh
# 获取脚本的实际路径
shellPath="$(readlink -f "${0}")"
# 脚本实际路径,与可执行程序的路径,是同一个目录
shellDir="$(dirname "${shellPath}")"
# 根据实际设置
appName="xCameraDebugTool"
appDir="${shellDir}"
# 引入库路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${appDir}/lib
#运行应用
exec "${appDir}/${appName}"
成功启动:
若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127443949
本文含有隐藏内容,请 开通VIP 后查看