关于 国产麒麟系统双击启动脚本方式后无法启动应用程序 的解决方法

发布于:2022-10-21 ⋅ 阅读:(1163) ⋅ 点赞:(0)

若该文为原创文章,转载请注明原文出处
本文章博客地址: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 后查看

网站公告

今日签到

点亮在社区的每一天
去签到