现在的位置: 首页 > 综合 > 正文

Qt 程序打包

2013年08月20日 ⁄ 综合 ⁄ 共 1279字 ⁄ 字号 评论关闭

Qt 程序打包

by tangke <tangk@lemote.com> 2009-06-02
我们一般写的Qt程序如果用dpkg-buildpackages来进行打包的话,会遇到一些问题。
那么我们如何来将已经写好的qt程序打成debian包呢?
dpkg给我们一个很好的解决办法,我们可以使用dh_make工具,该工具可以通过apt-get install dh-make来安装。
dh_make -e tangk@lemote.com -n之后会生成debian目录,里面会保存changelog,control文件等等。
然后我们在使用dpkg-buildpackages的时候会发现在打完的deb包里面找不到可执行文件。
后来我参考了网上写的一些文章:总结出了qt程序打包成deb的一些技巧。
1.dpkg-buildpackages打包的时候其实是打包了debian/packages_name里面的东西,所以你要相应的要把需要的东西有意识的放到里面去。
2.修改pro文件
在里面添加
target.path += debian/test-package/usr/bin                                 
INSTALLS += target

3.按照第二步所作的情况,生成的Makefile里面会有一个install,而dpkg-buildpackages就是会自动执行make install操作。这样就可以了生成一个完整的deb包了。
4.稍后我会讲解一个例子
target.path += debian/$${TARGET}/usr/bin

2009-5-21

我们不能把target.path += debian/test-package/usr/bin写死,使用变量的话,通用性更强一些
如何能再添加一些qm文件就更好了,但是目前我还不太清楚怎么安装qm

2009-5-21

后来分析了一下qt-creator里面的帮助资料,发现我们可以这样做
documentation.path = debian/$${DEBIAN_DIR}/usr/share/locale/zh_CN/LC_MESSAGES/                   
documentation.files = taskmanager_loongson.qm
INSTALLS += documentation
下面还要谈一下注意点:

1.taskmanager_loongson这样的目录是不符合打包规范的,必须要改成taskmanager-1.0.1这样的目录格式

2.在taskmanager-1.0.1目录的上级目录执行,tar zcvf taskmanager.tar.gz taskmanager-1.0.1,这样会得到一个源码包.然后在taskmanager-1.0.1目录下面执行dh_make -e tangk@lemote.com -f ../taskmanager.tar.gz之后,在上级目录会出现一个taskmanager_1.0.1.orig.tar.gz.

3.当然我们也可以忽略第二步的操作,但是你必须使用dh_make -e tangk@lemote.com -n

抱歉!评论已关闭.