您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

友善之臂Tiny6410开发板上搭建Qt 4.7开发环境

发布日期:2011-07-11

共有两个实战教程

-------------------------

按照开发指南操作,
安装arm-linux-gcc,
然后要用到qt-everywhere-opensource-src-4.7.0.tar.gz
编译安装 Qt4.7:
# make && make install
这里大约要几个小时,本人i5-480m,2G内存的本。。。
编译完成后,Qt4.7 被安装在 /opt/Qt4.7 目录下。
将 Qt4.7 打包。
将 qt4.7.tgz解压到开发板上的/opt 目录下。
安装QtCreator,进行交叉编译。
然后参考章节 3.3.4 编写的一个 setqt4env 脚本(如果这个脚本未存在的话)
,编写完成后,执行以下命令运行我们的 Qt4 程序:
# . setqt4env
@# HelloQt4 -qws
上面的命令中,先调用 setqt4env 设置一下环境变量,再调用示例程序,注意,setqt4env 命令前面的
“.”和 setqt4env 之前有一个空格。

工具/原料
FriendlyARM Tiny6410或Mini6410开发板、arm-linux-gcc-v6-vfp-20101103.tgz、qt-everywhere-opensource-src-4.7.0.tar.gz、QtSDK、能上网的Fedora14.
步骤/方法
首先,按照<URL1>的开发指南操作,
安装arm-linux-gcc,
# cd /
# tar xvzf /opt/arm-linux-gcc-v6-vfp-20101103.tgz
将编译器路径添加到PATH 环境变量中(注,指南该处有误):
这步非常关键,很多人出错就是因为没有这一步。
# export PATH=/opt/FriendlyARM/toolschain/4.5.1/bin/:$PATH
最好再将这行代码添加到/etc/profile中,每次启动自动执行。
执行以下命令能成功显示编译器版本信息表明编译器已安装成功。
# arm-linux-gcc -v
然后要用到qt-everywhere-opensource-src-4.7.0.tar.gz
先在某个地方解压一下啦~
# cd /opt/mini6410
# tar xvzf /opt/qt-everywhere-opensource-src-4.7.0.tar.gz
执行以下命令执行 Qt4.7.0 编译前的配置:
# /opt/mini6410/qt-everywhere-opensource-src-4.7.0
# 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-pc -no-mouse-linuxtp -no-neon
上面的主要参数含义说明如下:
-embedded arm: 表示将编译针对 arm 平台的 embedded 版本;
-xplatform qws/linux-arm-g++: 表示使用 arm-linux 交叉编译器进行编译;
-qt-mouse-tslib: 表示将使用 tslib 来驱动触摸屏;
-prefix /opt/Qt4.7: 表示 Qt4.7 最终的安装路径是 /opt/Qt4.7 ,注意,部置到 mini6410 开发板时,也需要把 Qt4.7 放在这个路径上;
接着,编译安装 Qt4.7:
# make && make install
这里大约要几个小时,本人i5-480m,2G内存的本。。。
编译完成后,Qt4.7 被安装在 /opt/Qt4.7 目录下。
下面是指南里的话。。。照抄了。。。
在 PC 上执行如下命令将 Qt4.7 打包:
# cd /opt
# tar cvzf qt4.7.tgz Qt4.7
打包完成后, qt4.7.tgz 拷贝到 SD 卡, 然后将 SD 卡插入 mini6410 开发板,
将执行以下命令将 qt4.7.tgz解压到开发板上的/opt 目录下:
# rm /usr/local/Trolltech/QtEmbedded-4.7.0-arm/ -rf
# cd /opt
# tar xvzf /sdcard/qt4.7.tgz
(注:在上述命令中,为了保证有足够的空间存放我们自已编译的 Qt4.7, 我们先将友善之臂提供的 Qt4.7删除掉)
注意,一定要保持 Qt4.7 的目录为 /opt/Qt4.7, 因为我们在配置 Qt4.7 时,指定了-prefix 参数为
/opt/Qt4.7 。
下一步,安装QtCreator,进行交叉编译。
<URL2>
在这里,找到那个最大的那个安装包,<URL3>Qt SDK 1.1 for Linux 32-bit Offline Installer [687M]
注意,打开的时候要chmod加上可执行权限。
将/opt/mini6410/HelloQt4-build-arm 目录下的 HelloQt4 可执行文件拷贝到 SD 卡,然后将 SD 卡插到 开发板上,执行以下命令将程序拷贝到 tiny6410 上:
# cp /sdcard/HelloQt4 /bin
# chmod +x HelloQt4
然后参考章节 3.3.4 编写的一个 setqt4env 脚本(如果这个脚本未存在的话),编写完成后,执行以下
命令运行我们的 Qt4 程序:
# . setqt4env
@# HelloQt4 -qws -font unicode
上面的命令中,先调用 setqt4env 设置一下环境变量,再调用示例程序,注意,setqt4env 命令前面的
“.”和 setqt4env 之前有一个空格。
然后安装就简单啦~
安装完后,打开QtCreator,继续按指南的操作。选好qt4.7编译器,设置好路径之类的。如果debugger Helper右边是一个红色的X,要点一下旁边的rebuild按钮,变成绿色的勾。
在运行任何 Qt4.7 程序之前,需要先退出 Qtopia2.2.0 或者 Qt-Extended4.4.3 等一切 Qt 程序,退出Qtopia2.2.0 的方法是:在 Qtopia2.2.0 中点“设置”中的“关机”,点“Terminate Server”即可关闭 Qtopia-2.2.0 系统。
然后如果接了键盘的话,可以按Ctrl+Alt+F2进入控制台,进行命令行操作。
到这里吧,就到这里。
注意事项
关于第七步的-font unicode,如果没有这个选项,字体会很小。
chmod +x HelloQt4 是为了赋予HelloQt4可执行权限。

 

以下是另外一套在VMware7 + Fedora 9环境实现的实践教程
-------------------------------------------

虚拟机: VMware7 + Fedora 9
开发板: Tiny6410
qt版本:qte4.7.0

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,就安装在这目录下

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上的代码,界面像是这样.只放一个简单的textbox和button

 

下面需要安装arm交叉编译器并指定arm的qmake。
#tar xvzf target-qte-4.7.0.tgz -C /

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

接下来把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
在qt4的尾部加入以下内容:
cd /opt/Qt4.7/demos/embedded
./helloqt4 -qws
其它-qws参数很重要

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

5)在ARM板上reboot, 可以正确运行啦
显示我们的对话框helloqt4,按X号关闭后,退出了qt界面。
此时界面出现字符状态,并且串口终端激活了,可以按enter进行命令状态进行其它操作。当然,这样的步骤在正式产品上不能出现。所以是否看看不允许用户界面上出现关闭符号会比较好。