位置: 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实现站内消息推送)

  • 苹果手机怎么设置护眼模式(苹果手机怎么设置铃声来电铃声)

    苹果手机怎么设置护眼模式(苹果手机怎么设置铃声来电铃声)

  • vivos6带耳机的吗(vivos6配套有没有耳机)

    vivos6带耳机的吗(vivos6配套有没有耳机)

  • 怎么把微信设置成不在线(怎么把微信设置成免打扰模式)

    怎么把微信设置成不在线(怎么把微信设置成免打扰模式)

  • 微信怎么搜50米以内的人(微信可以搜到50米内的人吗)

    微信怎么搜50米以内的人(微信可以搜到50米内的人吗)

  • 腾讯大王卡可以用哪些软件(腾讯大王卡可以看快手吗)

    腾讯大王卡可以用哪些软件(腾讯大王卡可以看快手吗)

  • 手机网速正常电脑很慢(手机网速正常电脑只有十几k)

    手机网速正常电脑很慢(手机网速正常电脑只有十几k)

  • 苹果xr有多长(苹果14plus有多长)

    苹果xr有多长(苹果14plus有多长)

  • 手机屏幕有白色线条(手机屏幕有白色圆圈是什么)

    手机屏幕有白色线条(手机屏幕有白色圆圈是什么)

  • 苹果手机截不了屏是什么原因(苹果手机截不了屏)

    苹果手机截不了屏是什么原因(苹果手机截不了屏)

  • 怎样取消延长收货(怎么关闭延期收账)

    怎样取消延长收货(怎么关闭延期收账)

  • lte版可以打电话吗(lte网络不能打电话)

    lte版可以打电话吗(lte网络不能打电话)

  • 华为p40pro出厂屏幕有膜吗(华为p40原厂屏幕)

    华为p40pro出厂屏幕有膜吗(华为p40原厂屏幕)

  • 恢复删除的人聊天记录(恢复删除的人聊天记录对方会知道吗)

    恢复删除的人聊天记录(恢复删除的人聊天记录对方会知道吗)

  • 微信无网络怎么回事(微信无网络怎么设置)

    微信无网络怎么回事(微信无网络怎么设置)

  • 开飞行模式短信跑哪了(开飞行模式短信有声音哇)

    开飞行模式短信跑哪了(开飞行模式短信有声音哇)

  • 12306候补订单退单多久到账 (12306候补订单退单后未退款)

    12306候补订单退单多久到账 (12306候补订单退单后未退款)

  • 文件后缀名怎么显示(文件后缀名怎么显示win7)

    文件后缀名怎么显示(文件后缀名怎么显示win7)

  • mac隔空播放显示只有关闭(mac隔空播放显示器无法打开)

    mac隔空播放显示只有关闭(mac隔空播放显示器无法打开)

  • 激光打印机碳粉盒在哪里(激光打印机碳粉盒和硒鼓是一样的吗)

    激光打印机碳粉盒在哪里(激光打印机碳粉盒和硒鼓是一样的吗)

  • 限制群搜索处理严重吗(限制群搜索是什么)

    限制群搜索处理严重吗(限制群搜索是什么)

  • 主板有必要买贵的吗(主板用不用买贵的)

    主板有必要买贵的吗(主板用不用买贵的)

  • qq火花在哪看(qq火花怎么看)

    qq火花在哪看(qq火花怎么看)

  • oppor17天气图标怎么恢复(oppo手机天气图标)

    oppor17天气图标怎么恢复(oppo手机天气图标)

  • 若依(RuoYi-Vue)+Flowable工作流前后端整合教程(若依框架好用吗)

    若依(RuoYi-Vue)+Flowable工作流前后端整合教程(若依框架好用吗)

  • 专票不抵扣认证什么意思
  • 预付账款收不回发票怎么核销
  • 利润总额和净利润相同说明什么
  • 哪些收入减免所得税
  • 资产负债表的编制方法和步骤
  • 增值税发票验证
  • 卖二手车发票如何做账?
  • 房地产形象海报
  • 房租收入应该计入什么会计科目
  • 开具的发票是否为印花税的应税凭证?
  • 研发部门房租可以抵税吗
  • 收到分包工程发票怎么做分录
  • 计算完工产品成本和月末在产品成本
  • 收购不良资产收益怎么算
  • 销售苗木属于什么行业
  • 加油发票的票据抬头是个人,这样可报销吗?
  • 年中入职个税怎么预扣
  • 上期认证的发票本期能抵扣吗
  • 研发费水电费比例怎么分配
  • 消费税的附加税和增值税的附加税
  • 汇算清缴相关分录有哪些
  • 跨越红字专用发票开票流程
  • 预收账款可计入
  • 虚拟存储器什么意思
  • PHP:session_name()的用法_Session函数
  • 职工薪酬可能计入什么科目
  • PHP:mcrypt_decrypt()的用法_Mcrypt函数
  • 差旅费包干什么意思
  • 商企预提待付费什么意思
  • 免征的增值税如何处理
  • php框架symfony
  • framework4.0怎么打开
  • 客户多付款入哪个科目
  • 事业单位小规模纳税人缴纳附加税有什么,税率是多少
  • nvidia-smi failed to initialize
  • js原型函数
  • css 3有哪些新特性
  • 汇算清缴退回来的钱会计分录怎么做
  • 在职工教育经费包括哪些
  • 公司代买社保怎么收费
  • 老生常谈的近义词
  • 在建工程核算的内容有哪些
  • 增值税电子普通发票和专票的区别
  • 免税收入与不征收的区别
  • sqlserver批量更新存储脚本
  • 房租能不能一次性付清
  • 如何确认产品销售收入
  • 计提增值税如何做账
  • 新增建筑物
  • 原始凭证错误的更正方法
  • 银行存款利息收入要交增值税吗
  • 小规模纳税人每个季度超过了30万怎么办
  • 固定资金管理内容包括哪些
  • 企业接受非货币性资产投资的入账金额
  • 自动化收集落料
  • mysql 5.7.17 winx64.zip安装配置方法图文教程
  • .cda是什么文件
  • ubuntu 125%
  • 双系统怎么卸载系统
  • windows1020h2版本怎么样
  • Win10年度升级版Redstone来了:更加个人化的计算体验
  • opengl 编程
  • jquery常用动画制作
  • perl的$_
  • cocos2dx 4.0更新内容
  • android事件分发流程图
  • herd什么意思
  • firefox怎样调整为中文
  • javascript模块化规范
  • 使用ssh登录远程服务器有两种方法
  • ip地址编址方法
  • angular页面加载完后执行方法
  • unity获取物体的位置
  • 获取标签的属性值的方式
  • js函数关键字
  • 面向对象的基础知识
  • 谷歌的全球化发展战略
  • android图片裁剪
  • 电子税务局打印发票提示本机未检测到
  • 税务局解决户口吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设