在Mini2440上Qtopia应用程序开发步骤是本文要讲解的内容,目前市场上提供的Linux和WindowsCE 5.0/6.0系统,在技术和功能上已经达到国内Mini2440开发板中最高水平,它们各自的bootloader以及BSP均是100%开放的。
FriendlyARM在光盘中提供了开发Qtopia-2.2.0的开发环境和软件,因此只要对其中的软件好好加以利用就可以开发出能够在mini2440上运行的程序,下面我把我自己开发经历做一个交流,我相信在我们这群技术的热爱者中不乏高人和大牛,所以我也是抛砖引玉,如果有说的不对的请大家提出来,这样才能更好进步。好,闲话不多说,进入正题,我先讲讲FriendlyARM中提供的开发环境和软件的作用:
按照FriendlyARM文档安装所有软件后,可以发现mini2440文件夹下包含了两个qtopia文件夹,一个是x86-qtopia另一个是arm-qtopia,对于这两个文件夹我是这么理解的,x86-qtopia提供了我们在主机上开发qtopia的软件环境,开发过wince的人都知道SDK的重要性,这里我们也可以把x86-qtopia理解为提供给我们的SDK或者说模拟器,只不过它的功能还要大的多,你可以使用里面的工具设计图形界面编译程序,并在qvfb中运行,它的存在就是为了方便我们开发qtopia;arm-qtopia则是提供在目标机上运行软件的编译工具,但是一般地它不具有qvfb,所以这两个文件夹需要结合起来使用,才能达到最佳效果。
下面我来谈谈x86-qtopia的编程步骤,在这里我采用了比较繁琐的步骤,主要是讲一下流程,后面会提到比较简捷的方法。
主机环境:RedHat9
编译工具:arm-linux-gcc-4.3.2
进入x86-qtopia,建立目标文件夹,即存放工程文件,.cpp.h文件的文件夹
设置开发环境,执行命令 # source qtopia-2.2.0-FriendlyARM/setQpeEnv
创建工程 # progen -t app -o (工程名).pro
进入qtopia-2.2.0-FriendlyARM/qt2/bin,启动Qt designer # ./designer,即可以进行图形界面的设计
将.ui文件存放在工程文件夹中
生成.h和.cpp文件,运用.ui文件,# uic -o *.h *.ui # uic -o *.cpp -impl *.h *.ui
在.h和.cpp文件中添加需要的代码
编写main.cpp
修改.pro文件,为其中的HEADERS= SOURCES= TARGET=添加文件,HEADERS指头文件,若有多个用空格分隔SOURCES为源文件,TARGET为目标文件,即最后生成的可执行文件名
生成Makefile
(1)查看环境变量,# echo $TMAKEPATH 查看结尾是否为/qws/linux-generic-g++
(2)修改tmake/lib/qws/linux-generic-g++/tmake.conf将TMAKE_LINK=gcc和TMAKE_SHLIB=gcc改为=g++
(3)生成Makefile # tmake -o Makefile *.pro
(4)修改Makefile 为LIBS=添加-lqtopia2 -lqtopia -lqpe
编译 # make
运行 # ./可执行文件名 -qws(不可少)上面就是一般步骤,但是比较繁琐,个人觉得程序设计的重点应该放在对.cpp和.h文件的编写,以及调试中错误的纠正所以下面我再把常用的,也是比较方便的方法介绍下
进入x86-qtopia,建立工程目录
将编写好的.cpp .h拷贝至工程目录
产生工程文件 执行命令 # qmake -project
修改.pro工程文件 在文件最后架上TARGET=可执行文件名
拷贝x86-qtopia中例程hello中的脚本文件build至工程目录,并执行 # ./build,该脚本已经将设置环境变量调用相应库生成Makefile,生成可执行文件写入其中。
拷贝hello中的脚本文件run拷贝至工程目录,修改最后一句话将路径换成可执行文件所在工程目录即可,运行程序 # ./run
对照两种方法,会发现在下面这种方法中没有了对图形界面设计步骤,我个人认为.ui文件并不重要,没有.ui一样可以编译程序,它的出现只是方便设计者对图形界面的布局。其实对于布局完全可以不用Qt Designer,完全可以用纸和笔来代替,在设计之前,将你的想法画在纸上,并订出相应尺寸和位置,然后将其变成代码就可以了,这样自由度更大,我个人也推崇这种方法。
上面只介绍了x86上设计qtopia程序的方法,我将在后面和大家分享arm中开发qtopia的一些心得,希望我写的这些对大家能有帮助。
小结:在Mini2440上Qtopia应用程序开发步骤内容介绍完了,都是一些实验心得,确实很值得一看,希望本文对你有帮助吧。