【原创】发布应用程序到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将他们删除。

你可能感兴趣的:(脚本,qt,library,makefile,编译器,translation)