管理提醒: 本帖被 hxfirefox 执行置顶操作(2009-09-15)
在完成x86下的qtopia的应用程序设计之后,就可以着手在arm上进行移植了,下面我将介绍如何在arm平台上开发qtopia应用程序,所有的编译工作将在arm-qtopia文件夹下完成。同样地,我也会介绍一种一般性移植方法,和一种较快捷,简便的方法。主机环境:RedHat9编译工具:arm-linux-gcc-4.3.21、 进入arm-qtopia,创建工程文件夹2、 设置开发环境,执行命令 # source qtopia-2.2.0-FriendlyARM/setQpeEnv3、创建工程 # progen -t app -o (工程名).pro4、进入qtopia-2.2.0-FriendlyARM/qt2/bin,启动Qt designer # ./designer,即可以进行图形界面的设计,5、将.ui文件存放在工程文件夹中6、生成.h和.cpp文件,运用.ui文件,# uic -o *.h *.ui # uic -o *.cpp -impl *.h *.ui7、在.h和.cpp文件中添加需要的代码8、编写main.cpp9、修改.pro文件,为其中的HEADERS= SOURCES= TARGET=添加文件,HEADERS指头文件,若有多个用空格分隔SOURCES为源文件,TARGET为目标文件,即最后生成的可执行文件名10、生成Makefile(1)修改tmake/lib/qws/linux-arm-g++/tmake.conf将TMAKE_LINK=arm-linux-gcc和TMAKE_SHLIB=arm-linux-gcc改为=arm-linux-g++(2)生成Makefile # tmake -o Makefile *.pro,如果是从x86下移植,请将x86下生成的Makefile删除(3)修改Makefile 为LIBS=添加 –luuid -lqtopia2 -lqtopia –lqpe11、生成可执行文件 # make12、编写一个.desktop,格式如下:[Desktop Entry]
comment=A Hello Program //说明
Exec=hello //可执行程序文件名
Icon=Hello //图标名 任意
Type=Application //程序类型 不变
Name=hello //可执行程序文件名
13、将可执行文件拷贝至root_qtopia/opt/Qtopia/bin下,将.desktop拷贝至root_qtopia/opt/Qtopia/apps下(我采用的是nfs挂载方式)以上就是在arm上开发qtopia应用程序的一般步骤,下面介绍较为简便的步骤:1、进入arm-qtopia,建立工程目录2、将编写好的.cpp和.h拷贝至工程目录3、产生工程文件 执行命令 # qmake -project4、修改.pro工程文件 在文件最后架上TARGET=可执行文件名5、拷贝arm-qtopia中例程hello中的脚本文件build至工程目录,并执行 # ./build,该脚本已经将设置环境变量调用相应库生成Makefile,生成可执行文件写入其中。6、修改Makefile,为LIBS=添加 –luuid -lqtopia2 -lqtopia –lqpe7、编写一个.desktop,格式如下:[Desktop Entry]
comment=A Hello Program //说明
Exec=hello //可执行程序文件名
Icon=Hello //图标名 任意
Type=Application //程序类型 不变
Name=hello //可执行程序文件名
8、将可执行文件拷贝至root_qtopia/opt/Qtopia/bin下,将.desktop拷贝至root_qtopia/opt/Qtopia/apps下(我采用的是nfs挂载方式)在启动mini2440之后,就可以在Application页面中看到编写的应用程序的图标,点击运行就可以了。最后还有一点小小的提醒,当你运行你所编写的程序的时候,你也许会发现,你的图形界面和Qtopia的整体风格不一致,特别是在标题栏上,如果你想统一风格,那么请认真参照FriendlyARM所提供的hello例程中的程序编写方法,尤其是main.cpp文件,修改你的程序,这样你就可以在mini2440上看到和其他程序一致的图形界面风格了。[ 此帖被hxfirefox在2009-09-15 07:51重新编辑 ]