mini2440开机自动运行自编qt程序

 
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中,所以会被自动运行(注意后面最好有个&,使他在后台执行,否则无法通过串口操作控制台)

如图:

mini2440开机自动运行自编qt程序_第1张图片
然后在/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程序之前必须显式地指明这些共享库的所在位置

 

 

 


 

你可能感兴趣的:(脚本,Path,qt,library,keyboard,2010)