您的位置:首页 > 编程语言 > Qt开发

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

2011-09-29 16:43 288 查看
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程序之前必须显式地指明这些共享库的所在位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: