位置: IT常识 - 正文

Packaging a Qt application

编辑:rootadmin
Packaging a Qt application - maemo.org wiki Packaging a Qt application Main article: Packaging Packa Packaging a Qt application

推荐整理分享Packaging a Qt application,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Main article: Packaging

Packaging a Qt application for Maemo is very similar to packaging any other application, so this document only contains information on Qt-specific packaging issues.

1 Creating a Maemo package from a qmake project 2 Editing the rules file 3 Editing the control file 4 Example 5 Useful Links

[edit] Creating a Maemo package from a qmake project

In order to create a new package for Maemo, from a qmake project, you will need to:

Rename the source directory to Package-Version (for example myapp-0.1 for an application ‘myapp’ with a version of ‘0.1’) Create a ‘src’ directory in Package-Version/ Copy all the files to the src/ directory Rename src/appname.pro to src/src.pro

Please make sure that the directory name is <package-version> format and in small case letters.

$mv myapp myapp-0.1 $cd myapp-0.1 $mkdir src $cp * src $mv src/appname.pro src/src.pro

Append the following chunk to end of your src/src.pro. The chunk adds an install section to your qmakefile

unix { #VARIABLES isEmpty(PREFIX) { PREFIX = /usr } BINDIR = $PREFIX/bin DATADIR =$PREFIX/share

DEFINES += DATADIR=\\\"$DATADIR\\\" PKGDATADIR=\\\"$PKGDATADIR\\\"

#MAKE INSTALL

INSTALLS += target desktop service iconxpm icon26 icon48 icon64

target.path =$BINDIR

desktop.path = $DATADIR/applications/hildon desktop.files += ${TARGET}.desktop

service.path = $DATADIR/dbus-1/services service.files += ${TARGET}.service

icon64.path = $DATADIR/icons/hicolor/64x64/apps icon64.files += ../data/64x64/${TARGET}.png }

Create a myapp-0.1/myapp.pro file like this:

QMAKEVERSION = $[QMAKE_VERSION] ISQT4 = $find(QMAKEVERSION, ^[2-9]) isEmpty( ISQT4 ) { error("Use the qmake include with Qt4.4 or greater, on Debian that is qmake-qt4"); }

TEMPLATE = subdirs SUBDIRS = src

Packaging a Qt application

Run dh_make to debianize the source archive, it creates:

An archive with the unchanged upstream source (orig.tar.gz) Some basic files in the debian directory Some example files (*.EX *.ex)

export DEBFULLNAME="maintainer first name and last name" dh_make --createorig --single -e maintainer@email.org -c gpl

[edit] Editing the rules file

The rules file generated by dh_make, found in debian/rules will be modified in order to look like this one. We are using qmake, so there is no configure script to run. If you copy and paste the following file, notice the empty space at the beginning of the lines these are TAB characters, they are not multiple space characters. If you copy and paste the following chunk, you most propably get space's instead of tabs if this is true then the file will not work.

#!/usr/bin/make -f APPNAME := my_app_name builddir: mkdir -p builddir

builddir/Makefile: builddir cd builddir && qmake-qt4 PREFIX=/usr ../$(APPNAME).pro

build: build-stamp

build-stamp: builddir/Makefile dh_testdir # Add here commands to compile the package. cd builddir && $(MAKE) touch $@

clean: dh_testdir dh_testroot rm -f build-stamp # Add here commands to clean up after the build process. rm -rf builddir dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs

# Add here commands to install the package into debian/your_appname cd builddir && $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/$(APPNAME) install # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default.

# Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installdocs dh_installexamples dh_installman dh_link dh_strip --dbg-package=my-application-dbg dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb

binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure

[edit] Editing the control file

The control file generated by dh_make, found in debian/control will be modified substantially. Please refer to the general packaging guide for Maemo for details.

For Qt applications you need to make sure to add libqt4-dev as an additional entry in the field Build-Depends.

[edit] Example

You can download the source package of qt-maemo-example from the extras-devel repository as follows, if you have source packages enabled in your /etc/apt/sources.list file:

apt-get source qt-maemo-example

This command will download the:

unmodified source (.orig.tar.gz) debian dsc file (.dsc) diff file (.diff)

and will then automatically launch dpkg -x file.dsc in order to decompress the orig.tar.gz and apply the changes.

[edit] Useful Links

Packaging Qt Creator Apps for Maemo Extras Qt for Maemo Packaging guide for Maemo Deploying your Maemo 5 Qt application Qt documentation

本文链接地址:https://www.jiuchutong.com/zhishi/310436.html 转载请保留说明!

上一篇:python中重写与调用方法是什么(python中重写构造方法)

下一篇:phpcms推送失败怎么办(php实现站内消息推送)

  • 免税收入怎么做会计分录
  • 协定税率的简称
  • 固定资产什么时候开始折旧
  • 滴滴出行怎么弄电子发票
  • 汇算清缴纳税调整项目
  • 预收和应收可以冲销吗
  • 银行回单附言写错业务
  • 支付的保证金
  • 租赁收入无发票怎么做账
  • 收到备付金怎么做分录
  • 个人收到的国外短信
  • 进项发票还没认证怎么做账
  • 运输公司购买运输车辆保险进什么科目
  • 个体没有地址怎么办理执照
  • 公司成本票不够交税多少
  • 打井行业
  • 环境保护税由什么部门负责征收管理
  • 滴滴出行客运服务费 事业单位 报销
  • 企业合并以外
  • 固定资产清理税金如何处理
  • 贷款利息可以抵扣吗
  • 免征附加税费
  • 该设备正在使用中怎么关闭u盘
  • 9个点的税率有哪些
  • 非经营性单位支出费用是什么
  • 公户的利息收入账务处理咋处理
  • 未分配利润分配利润分录
  • linux系统中安装web服务
  • directx安全吗
  • 高新企业政府补贴怎么入账
  • 特许权使用费税前扣除标准
  • 企业所得税汇算交税分录
  • 计划成本核算的账务处理
  • tensorflow安装教程pycharm
  • 物流辅助服务包括货物运输吗
  • 金蝶数量金额怎么输入
  • ChatGLM-6B:颠覆聊天AI的全新模型
  • gmt微调
  • node_sass
  • 公司支付的广告费是什么
  • 个人所得税既有工资薪金又有劳务报酬房屋租金
  • 人力资源投资收益
  • 宣告分配现金股利和股票股利的区别
  • 征税小规模纳税申报
  • 银行对账单和存折的区别
  • 定期定额怎么申报个人所得税
  • 税金及附加多计提了怎么办
  • 社保逾期滞纳金和利息
  • 网络销售还可以叫什么
  • 记账凭证的项目有哪些
  • 记账凭证烂了要紧吗
  • 外贸整个流程图
  • 企业年初借的
  • mysql查询语句大全讲解
  • mysql安装详细步骤
  • mysql1194
  • xp怎么安装framework
  • 微软9月补丁
  • xp停在windows界面
  • ubuntu20.04卸载
  • 手把手教你安装使用国家反诈中心
  • win10 rs3
  • Mac如何使用Excel
  • ie等级
  • form表单中input设置为readonly和disabled的区别
  • JavaScript:Array类型全面解析
  • data.table
  • python编写人工智能
  • js的isnan
  • html页面头部
  • nodejs实战教程
  • Linux 中的通配符详解及实例
  • shell函数参数
  • 让ie运行js时提示允许阻止内容运行的解决方法
  • jquery实现点击按钮
  • javascript程序设计教程
  • js定义数据类型
  • 提问:请问海淀区各税务所管辖范围都是哪里?
  • 东城国税局局长
  • 正在办退休社区盖章到了那一步
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设