作者:笨蚂蚁88 | 来源:互联网 | 2023-05-18 20:40
mini2440开机自动运行自编qt程序2010年07月10日星期六18:49如果想在开机后直接运行自己编的qt程序,而不想出现qt自带的那个界面只需把etcinit.drcS中的bin
mini2440开机自动运行自编qt程序
2010年07月10日 星期六 18:49
如果想在开机后直接运行自己编的qt程序,而不想出现qt自带的那个界面只需把/etc/init.d/rcS中的/bin/qtopia & 注释掉#/bin/qtopia & 并在下面加上/opt/Qtopia/bin/run.sh 修改 echo "Starting Qtopia, please waiting..." > /dev/tty1 为 echo "Starting myapps, please waiting..." > /dev/tty1 把字体文件(qt源代码处)cour.pfa cursor.pfa fontdir拷到/opt/FriendlyARM/mini2440/root_qtopia/usr/local/qt-embedded/lib/fonts/fontdir下面 编写脚run.sh运行我们的程序myapps export LD_LIBRARY_PATH=/opt/Qtopia/lib:/usr/local/lib export QTDIR=/opt/Qtopia export QPEDIR=/opt/Qtopia export LD_LIBRARY_PATH=/opt/Qtopia/lib:$LD_LIBRARY_PATH /opt/Qtopia/bin/myapps -qws & 重启ok! |
主要参考来源:http://my502sky.blog.163.com/blog/static/140045057201021115152478/。
但是使用这篇文章的思路,我测试的结果是自动启动后不可以使用鼠标,我做了一些修改是触屏正常使用
本机环境是qte的库文件在/mini2440下,qte应用程序在/home/plg目录下。
如果想在开机后直接运行自己编的qt程序,而不想出现qt自带的那个界面只需把/etc/init.d/rcS中的
/bin/qtopia & 注释掉#/bin/qtopia &
并在下面加上
/home/plg/run.sh & #添加一个执行脚本行,这个脚本因为在/etc/init.d/rcS中,所以会被自动运行(注意后面最好有个&,使他在后台执行,否则无法通过串口操作控制台)
如图:
然后在/home/plg目录下建立一个run.sh文件,内容如下:
export QTDIR=/mini2440
export T_ROOT=/tslib
export PATH=$QTDIR/bin:$PATH
export TSLIB_COnSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_COnFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
这个内容和我的“qte在mini2440上的移植及交叉编译环境的搭建-亲测通过”这篇文章讲到的添加环境的变量是一模一样的。我的整个run.sh文件内容如下:
#!/bin/sh
export QTDIR=/mini2440
export T_ROOT=/tslib
export PATH=$QTDIR/bin:$PATH
export TSLIB_COnSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_COnFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=tslib:/dev/input/event0
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
#export QWS_KEYBOARD=TTY:/dev/tty1
/home/plg/spreadsheet -qws
重启之后,就可以看见自己添加的qte程序开机自动运行,并且我们可以正常使用触屏。原理就是qt程序依赖很多的动态共享库,在运行的时候必须找到这个共享库,所以在运行qt程序之前必须显式地指明这些共享库的所在位置