调用了shell脚本的Qt程序如何打包成.deb文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用了shell脚本的Qt程序如何打包成.deb文件相关的知识,希望对你有一定的参考价值。

我自己做的Qt程序,里面的功能是用shell实现的。现在想把这个程序整个打包成一个.deb的包,来使它能够安装到别的电脑上运行(都是linux系统)。具体应该怎样做,请详细说一下,最好能给出.deb包中各个文件夹下应该放什么文件,这些文件有没有什么要求。

大致过程:

       * 把源码包解压缩到某个目录;

       * 在源码目录内创建debian化目录 (./debian).

       * 修改./debian目录内的文件,如包维护者的详细信息、包描述,等等;

       * 在本机编译源代码;

       * 在本机生成.deb包;


需要用到的工具:

        * dh_make(dh-make包的一部分)——用于自动创建./debian目录和其他用于创建.deb包的骨架模板文件;

       * make(Gnu make)——构建过程中要用到的工具;

       * debchange/dch(devscripts包的一部分)——用于编辑包的版本号;

       * debuild(devscripts包的一部分)——运行构建过程,包括编译连接,以及生成deb包;


可以参考

http://wenku.baidu.com/view/6f7e3665f5335a8102d22051.html

追问

你有自己做过吗

参考技术A windows下用QT编写meego程序确实打包出来的格式是以rpm为后缀名的。也属于linux安装包的一种。deb文件属于debian安装包格式,在ubuntu常见。MEEGO是基于LINUX TABLET platform开发的。有很大的相似性。你可以用转换工具进行转换。我本身用的是MEEGO上网本,我会在上面下载模拟器试运行。MEEGO将会在年底进行一次升级,同时开发工具也会相应作出调整以解决相关问题。追问

呵呵

参考技术B 可以的选择

Qt 如何编译成可执行程序,像VC的静态编译,可以在脱离QT的环境中运行

qt 开源版本 不允许静态编译
可以将DLL打包,就能再其他的机器上运行了.追问

debug版依赖的库太大了,140多M。
我还遇到了个问题,编译成debug版本功能都能运行得非常好,但是,编译成release版后,有些功能就不执行了,点击按钮硬是没有反应,难道说是被优化到无法执行了吗?

追答

依赖库没有打包全

追问

不会啊,要是依赖库没打包完,应该是报错或者崩掉,而不是程序没崩,但是不执行那些我希望执行的功能

参考技术A 你可以用系统自带的QT3.0 或者是4.0,qmake就可以生成了啊!把你的邮箱告诉我,给你点例子和入门的资料!很简单的。追问

嗯,太谢谢了哈,我的邮箱 254200341@qq.com

追答

已经给你发过去了啊!

参考技术B 交叉编译后构建啊 就生成了 如你建的时候名字叫Demo 那你的.exe就存在原来你新建的文件夹下面 AppDemo-build-desktop 这个里面有

以上是关于调用了shell脚本的Qt程序如何打包成.deb文件的主要内容,如果未能解决你的问题,请参考以下文章

shell 脚本里面从一个文本里面读出一个数字,如何转换成整数?我需要用这个数字进行加减乘除

Qt 如何编译成可执行程序,像VC的静态编译,可以在脱离QT的环境中运行

如何把python脚本打包成rpm包

普通 java 工程调用 arcobject 功能,打包成独立可运行程序后,用脚本调用

Java在linux上调用shell脚本

怎样让Python脚本与C++程序互相调用