实战tiny6410上的QT开发环境搭建与示例程序

 

虚拟机: vmware7 + fedora9
开发板: tiny6410
qt版本:qte4.7.0 (后来移植qt4.7.3也成功了)

1) 在虚拟机上 获得QTE4.7源码并释放且编译
 第一步,获得源码并翻译
在虚拟机上,把qt-everywhere-opensource-src-4.7.0.tar.gz 释放。
释放的目录可以是任何比如    /home/stephen/stephenshare

第二步,编译
在虚拟机上操作

先配置参数:
echo yes| ./configure --prefix /opt/Qt4.7 -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-linuxtp -no-neon

然后make && make install
请注意这里设了--prefix是/opt/Qt4.7,就安装在这目录下 , 有的时候这个写法不被系统认可,需要写成--prefix=/opt/Qt4.7即加一个“=”号.

在我的双核DUO T7250电脑上,虚拟机768M RAM情况下,编译过程花费了5个小时。

2) 在ARM板上即tiny6410上去部署Qt4.7
把虚拟机上的Qt4.7打包
#cd /opt
#tar cvzf qt4.7.tgz Qt4.7
再以SD卡或nfs方式, 在tiny6410上的/opt目录解压
#cd /opt
#tar xvzf /sdcard/qt4.7.tgz

3) 虚拟机里 QT Creator安装配置及示例编译
在虚拟机里装QT CREATOR,注意是到nokia官方去下载最新的包,现在的安装方式是下载一个20MB的小包,下载后chmod +x 再运行,它会自动上网download全部内容并安装。 安装好的效果和在windows上几乎没差别
安装后,写个简单的程序。 新建qt gui application . 初始编译是生成本地代码即fedora9上的代码,界面像是这样


 



下面需要安装arm交叉编译器并指定arm的qmake。


设置参数:
第一步,
Tools->Options->Qt4->Qt Versions
加一个qmake location类似这样  /opt/Qt4.7/bin/qmake
第二步,左侧工具栏Projects->Build Settings 的Qt version选qt embbed 4.7.0. 然后点击那个锤子可以交叉编译了,生成了
helloqt4 这是我们的arm可执行文件了。不放心的话可以使用命令file helloqt4看到有arm字样就成功了

请注意有的时候如果不能正确生成交叉编译的文件,请先clean再rebuild all

接下来把helloqt4复制到ARM板的目录下比如/opt/Qt4.7/demos/embedded

4) 在ARM板上改QT配置文件

接下来就是改开机启动文件/etc/init.d/rcS 和 /bin/qt4配置文件
在/etc/init.d/rcS中加入:
echo "now executing /bin/qt4 file" > /dev/tty1
/bin/qt4

代表要执行qt4文件脚本,在这个文件脚本中既有qt4的本身环境变量设置,又有我们试验的要执行的交叉编译的文件helloqt4

a. 需要在/bin/qt4中间部分加入QT相关的变量设置
QTDIR=/opt/Qt4.7
PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH LD_LIBRARY_PATH


b. 在/bin/qt4的尾部加入以下内容:
cd /opt/Qt4.7/demos/embedded
./helloqt4 -qws&

其中-qws参数很重要,代表的是启动qt windows server(因为没有象qtopia一样的图形支持环境)

注意把原来调用qtopia的几行脚本注释掉,以免和这个qte4.7冲突

5)在ARM板上reboot, 可以正确运行啦
显示我们的对话框helloqt4,按X号关闭后,退出了qt界面。
此时界面出现字符状态,并且串口终端激活了,可以按enter进行命令状态进行其它操作。当然,这样的步骤在正式产品上不能出现。所以是否看看不允许用户界面上出现关闭符号会比较好。
另外:由于屏幕及字体原因,有时候字体可能显示的特别小,这时候我们就需要精简qt的fonts目录,比如/opt/Qt4.7/lib/fonts里,只留住特定的字体比如unifont_160_50.qpf即可。其它的字体就不妨建个文件夹临时放进去,以备后用。

6)多任务的运行
补充:-qws是先开启一个qt windows server,然后运行应用程序。如果我们要先后运行2个程序,可以使用后台,即这样:
./helloqt4 -qws&
sleep 3
./another&
这样可以同时在后台运行多个应用程序,且串口终端也可以正常使用。就是非独占式。
为什么要使用sleep 3来延时3秒呢?经过实验,qws服务器有时候是不能立即启动的,需要点时间让它启动,这样后面的程序another才能找服务器,否则可能会提示错误。

7)后记
截止2011年6月9日,笔者把NOKIA官网上的最新的Qt4.7.3也完成了移植,移植过程和上面的Qt4.7.0几乎一样的。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值