我们要开发一个简单的QT程序,然后下载到arm开发板上面。
这里需要介绍几个用到的软件:
x86-qtopia,这个是PC下的一个qtopia,他自带有个模拟器,可以模拟出arm开发板的样子出来。方便调试
arm-qtopia,这个主要是用来编译,因为要下载到开发板上,需要arm版的qtopia的库文件,编译后直接下载到开发板运行
以上两个qtopia都要事先编译好。
buildhost.sh,这个是在x86下对QT程序的编译脚本。
buildarm.sh,这个是在arm下的编译脚本
1、开发QT程序,直接用designer
/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/designer main_form_base.ui
用x86下的designer来设计图形界面,命名为main_form_base.ui
在此先省略QT编程过程。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
2、编程完毕后,执行buildhost.sh脚本,编译它,会产生可执行文件。
脚本内容:
-----------------------------------------------------------------------------------------------------------------------------------------
#!/bin/sh
source /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv
qmake -o Makefile.host -spec qws/linux-generic-g++ *.pro
make -f Makefile.host clean
make -f Makefile.host
------------------------------------------------------------------------------------------------------------------------------------------
3、再到x86-qtopia目录下,运行模拟器。会出现一个qtopia界面
4、然后再运行编译生成的可执行文件(这里需要一个相应的run_x86_mycalc脚本)。若在模拟器中出现我们编写的软件界面,运行正常,说明没问题。可以直接进行下一步
run_x86_mycalc脚本:
-----------------------------------------------------------------------------------------------------------------------------------------
# cd /opt/FriendlyArm/mini2440/x86-qtopia/mycalc (mycalc的程序目录)
# export QTDIR=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/
# export QPEDIR=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/
# export HOME=$QPEDIR/root/
# export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBARAY_PATH
# ./mycalc
-----------------------------------------------------------------------------------------------------------------------------------------
5、再执行buildarm.sh脚本,编译它,会产生arm版本的可执行文件。
脚本内容:
-----------------------------------------------------------------------------------------------------------------------------------------
#!/bin/sh
source /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv
qmake -o Makefile.arm -spec qws/linux-generic-g++ *.pro
make -f Makefile.arm clean
make -f Makefile.arm
-----------------------------------------------------------------------------------------------------------------------------------------
6、把这个可执行文件复制到arm开发板上面的/opt/Qtopia/bin目录下(通过超级终端串口传输)
7、编写run_mycalc执行脚本,这样才能直接运行,(这里的run_mycalc名字可以自己改的)
在arm开发板上面的/bin目录下,vi run_mycalc
内容:
-----------------------------------------------------------------------------------------------------------------------------------------
#!/bin/sh
export TSLIB_TSDEVICE=/dev/touchscreen-1wire
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export QTDIR=/opt/Qtopia
export QPEDIR=/opt/Qtopia
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
export QWS_MOUSE_PROTO="TPanel:/dev/input/mice"
export QWS_KEYBOARD=TTY:/dev/tty1
export HOME=/root
exec $QPEDIR/bin/qpe (qpe修改为存放在/opt/Qtopia/bin下面的可执行程序名称,这里就要修改为mycalc)
-----------------------------------------------------------------------------------------------------------------------------------------
8、直接运行run_mycalc