高级会员

- 积分
- 635
- 金钱
- 635
- 注册时间
- 2018-3-26
- 在线时间
- 107 小时
|
本帖最后由 莫西莫西 于 2021-8-5 15:01 编辑
自己回复自己。目前感觉已经解决了。
问题分析:阿尔法开发板已经移植了QT环境,提示err 缺少的libQT5widget.so文件,在开发板的QT安装路径可以查到。说明不是缺少库这个问题。
QT程序的是放在 /etc/init.d/rcS的脚本中。它可能是在环境设置脚本profile之前执行的,那么有可能是QT环境还没设置好,就已经执行了QT程序,所以
才会提示缺少库文件。顺着这个思路,我想在最后一个执行脚本中放QT程序,(可是目前初学的我不会查看哪个脚本先执行,哪个脚本最后执行)。我通过 ls命令查看
/etc下的文件,发现 init.d排在profile之前,那么是不是linux执行脚本是按照箭头方向,从左到右依次执行。如图1。那么我仿照脚本文件,新建一个脚本文件 vi makeqt
里面内容是:
#!/bin/sh
/QT/test &
新建的是排在脚本最后,按照时间创建顺序排列执行(我当时是这么认为的)。但是结果好像不是那么回事。并没有按照我的makeqt脚本最后执行。新建完之后,通过ls发现他们顺序
都变了,新建的脚本makeqt并没有按照想象中那样排在profile之后,如图2。这个时候,猜想可能不是按照脚本创建时间的顺序去执行脚本,但是已经新建了,执行试试看,果然不行。
(linux中 脚本执行的先后顺序怎么查看 或者怎么设置,有会的可以分享一下)
解决方法:
最后不行,就把QT执行路径放在profile的环境变量之后,这样即使profile不是最后执行的脚本,那把QT执行程序放在 QT环境变量设置之后总该可以吧。
按照这个思路,去试了一下。bingo,可行。如图3.
但是我遇到几个问题,就是文件系统是根据【正点原子】 I.MX6U 移植 Qt5 5. . 12.9 V1.1 配置的。因为需要空的文件系统移植QT源码以及TSLIB
。烧录新文件系统之后,屏幕,以及串口显示
Please press Enter to activate this console.
按下enter之后,才会进入控制台,才会执行qt程序。这个怎么解决?
以及
/ # [ 9.304977] random: test urandom read with 36 bits of entropy available
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
这个怎么解决,环境变量是按照原子的配置的
|
|