本文档说明如何在安装好Qtopia编译环境下的Fedora上开发嵌入式应用程序的流程,只针对这台计算机,供后续的新手入门指导。流程如下:
1:进入交叉编译环境目录,设置环境变量;
# cd /home/chenxibing/Qtopia-x86/qtopia-free-2.2.0-x86
# . setQpeEnv
注意'.'与setQpeEnv之间有空格
2:创建应用程序文件夹,比如在根目录下新建文件夹qt_test
mkdir /home/chenxibing/qt_test
cd /home/chenxibing/qt_test
然后执行脚本打开QT设计师,如下:
# designer
3:设计QT界面,保存界面为qt_test.ui
Qt界面的设计参考天嵌的《Qtopia程序开发完全手册》。
新建脚本文件ui2cpp,其内容如下:写
#!/bin/sh
$QTDIR/bin/uic -o qt_test.h qt_test.ui
$QTDIR/bin/uic -o qt_test.cpp -impl qt_test.h qt_test.ui
$QTDIR/bin/moc qt_test.h -o moc_qt_test.cpp
执行脚本文件。
sh ./ui2cpp
将会生成 qt_test.h, qt_test.cpp,moc_qt_test.cpp三个文件。
4:添加main.cpp
其内容如下:
#include "qt_test.h"
#include <qapplication.h>
#include <qtopia/qpeapplication.h>
QTOPIA_ADD_APPLICATION("xcpad",<span style="color:#cc0000;">xcpad</span>)
QTOPIA_MAIN
红色子表示 实例化窗口类的名称 具体在xxx.h 或xxx.cpp 可以看见。
5:生成项目文件
progen -o qt_test.pro
修改qt_test.pro:
(1) CONFIG =qt warn_on release→ CONFIG =qtopia warn_on release
(2) INTERFACES =qt_test .ui → INTERFACES = (删掉qt_test .ui )
6:使用tmake生成Makefile文件。 可选 当希望自动加入到仿真的时候 需要添加一下下面的
tmake -oMakefile qt_test.pro
打开Makefile文件,修改:
(1) TARGET = $(QPEDIR)/bin/xcpad(修改)
DESKTOP = $(QPEDIR)/apps/Applications/xcpad.desktop(增加)
ICON = $(QPEDIR)/pics/xcpad.png(增加)
(2) all: $(TARGET)
cp -fxcpad.desktop $(DESKTOP) (增加)
cp -f xcpad.png$(ICON) (增加)
clean:
-rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC)$(UICIMPLS) $(UICDECLS) $(TARGET) $(DESKTOP) $(ICON)
7:执行make命令
8:仿真
执行#qvfb -width 320 -height 240 &
注意:需要在root权限下进行如下操作,而su用户下也需要执行脚本 配置环境变量。
再输入qpe
参考资料:http://blog.csdn.net/sunhy1021/article/details/4965305
以上只是在X86 计算机上仿真 如果真正下载到ARM上需要做如下工作:
对于在嵌入式版本上移植,有几点需要注意:
1. 首先保证你执行的是在Qtopia_arm 下,同时保证执行过需要的环境脚本/home/chenxibing/Qtopia-arm/setQpeEnv.arm 这个与x86有点区别。(其实本质上添加的路径是一样的,只是制作的文件不一样。)
2. 在往3250拷贝文件以后,不能直接断电,这样导致文件在重启之后会丢失。所以需要在超级终端下先reboot,虽然reboot不成功,但是可以执行关机前的保护操作。
1.将上面第四步生成的文件夹重新拷贝一份 (或者在你已经模拟完的文件夹里删除.o .pro Makefile 三个文件,留下 .h .cpp .ui .sh 文件) 做以下工作
2.生成项目文件
progen -oqt_test.pro
修改qt_test.pro:
(1)CONFIG =qt warn_on release → CONFIG =qtopia warn_on release
(2)INTERFACES =qt_test .ui → INTERFACES = (删掉qt_test .ui )
3.使用tmake生成Makefile文件。
tmake -oMakefile qt_test.pro
此时你可以打开Makefile 文件,对比之前x86生成的Makefile 区别仅在于所使用的编译工具不一样
X86 使用的是: gcc g++
ARM使用的是:arm-vfp-linux-gnu-gcc arm-vfp-linux-gnu-g++
4.执行make命令
5.下载到你的arm板子QT桌面系统对应的文件夹里面,三个文件分别放到对应的位置:.png文件放置到pics文件夹下,可执行文件放置到bin 文件夹下,.desktop 文件放置到apps文件夹下(当然自己可以新建文件夹存放)