【原创】发布应用程序到qtopia的方法

 
发布一个应用程序到QTOPIA的过程:
1、 编辑源文件,并添加一个一个工程文件*.pro
2、 编辑一个编译脚本build,内容如下
    #!/bin/sh
export QTDIR=/root/qtopia-free-2.2.0/qt2
export QPEDIR=/root/qtopia-free-2.2.0/qtopia
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:$LD_LIBRARY_PATH
export TMAKEDIR=/root/qtopia-free-2.2.0/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
tmake -o Makefile filebrowser.pro
最后一个语句是使用tmake生成该工程的makefile
3、 修改该makefile,
LINK =   arm-linux-gcc ->     LINK=arm-linux-g++
LIBS= $(SUBLIBS) -L/usr/local/arm/3.3.2/arm-linux/lib -L/usr/local/arm/3.3.2/lib -L/lib -L$(QPEDIR)/lib -L$(QTDIR)/lib -lm -lqpe -lqtopia -lqte
LIBS的修改是加入交叉编译器的函数库路径。
TARGET   =   $(QPEDIR)/bin/filebrowser
这个是编译后的应用程序存放的目录到这个目录下寻找这个程序可以修改到自己想要的目录下
4、 修改完后make
5、 把编译后的可执行文件复制到目标文件夹的bin目录下,在目标文件夹的apps/Application下面添加*.desktop文件,在目标目录下建立*文件夹,并把相关的图标文件*.png文件添加到这个文件夹,图标的名称关系到图标文件在应用程序的调用。
6、 *.desktop文件的编辑。
[Translation]
File=QtopiaApplications          程序类型,app
Context=Filebrowser              窗口的标题
[Desktop Entry]
Comment[]=A Filebrowser Program 描述应用程序的功能
Exec=filebrowser                 在bin中的可执行文件
Icon=FileBrowser                在pics/filebrowser文件夹下面的png格式图标的名称
Type=Application                程序类型,app
Name[]=filebrowser              应用程序的桌面图标的名称
7、 编译前应该交叉编译qtopia-freee-2.2.0,否则无法找到libqte库
8、 编译器使用的是3.3.2
 
 
使用Qt Designer进行程序设计的过程:
这里使用Redhat 9.0自带的Qt Designer进行编程,这个版本比使用qtopia-2.2.0自带的版本的功能要完善要好得多。
1、 新建一个C++工程
2、 新建一个ui界面文件,编辑这个界面文件,并添加进新建的C++工程中
3、 新建一个main的C++源文件,添加到C++工程。
4、 修改.pro文件如下,具体的格式参考qtopia自带的examples里面的pro文件。以下是一个例子:
TEMPLATE     =app
CONFIG     +=qtopia warn_on release
HEADERS       =form1.h
SOURCES       =main.cpp
INTERFACES =form1.ui
TARGET         =qt_test1
5、 新建一个编译脚本build:
export QTDIR=/root/qtopia-free-2.2.0/qt2
export QPEDIR=/root/qtopia-free-2.2.0/qtopia
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:$LD_LIBRARY_PATH
export TMAKEDIR=/root/qtopia-free-2.2.0/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
tmake -o Makefile filebrowser.pro
通过这个脚本后就生成了一个交叉编译的Makefile文件,这个脚本已经是使用交叉编译器了,所以不需要对这个脚本进行修改。编译器是在TMAKEPATH这个环境变量中定义的,具体使用哪个编译器是看这个变量的定义。
    6、uic o form1.h form1.ui                 产生form1.h文件
       uic o form1.cpp i form1.h form1.ui    产生form1.cpp文件
    7、运行上述脚本后就产生一个Makefile文件,然后就make,生成目标文件
8、将这个目标文件添加进qtopia系统中,具体过程可以参考上一个总结后面部分的5、6点内容
    
    需要特别注意的是,如果使用的是qtopia-2.2.0自带的designer那么第六步是不需要的,直接make即可生成目标文件。
 
还有一点需要注意的是,对于使用uic生成后的.h、.c文件可以进行修改,这些修改不会被下一次make覆盖,只要存在了这些文件,那么下一次make时不会再产生相应的文件。从而使自己的修改不会被覆盖。同时,如果想这些文件更新为系统从新产生的文件就必须make clean将他们删除。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值