如何为Qt应用程序创建“安装”包?

时间:2012-01-27 10:41:59

标签: linux qt package qmake

通常,要在基于Linux的操作系统上安装软件包,请使用

./configure
make 
make install

这是如何工作的?如何创建可以这种方式安装的软件包?

我的应用程序使用Qt框架,我认为我的目标是“MyPackage.tar.gz”

4 个答案:

答案 0 :(得分:3)

您可以从项目中创建debian包。据我所知,你想创建一个用于分发的包,所以我建议你从你的项目中创建一个debian包。 Here是Debian Packaging系统的介绍。在文章中,他们在某些时候描述了如何创建一个“规则”文件,这是构建过程的核心。以下是我通常用于Qt / KDE项目的示例:

#!/usr/bin/make -f
#export DH_VERBOSE=1
# This is the debhelper compatability version to use.

#export DH_COMPAT=3
DESTDIR=$(CURDIR)/debian/project
TR_DIR=$(CURDIR)/debian/project/usr/share/qt4/translations

configure:
        qmake project.pro

clean:
        dh_testdir
        dh_testroot
        dh_clean

build:  configure
        dh_testdir
        lrelease translations/project_en.ts
        $(MAKE)

install: build
        mkdir -p $(TR_DIR)
        cp translations/project_en.qm $(TR_DIR)
        $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/project install
        dh_installdirs

binary-arch: build install
         dh_testdir
         dh_testroot
         dh_installmenu
         dh_link
         dh_strip
         dh_compress
         dh_fixperms
         dh_installdeb
         dh_shlibdeps
         dh_gencontrol
         dh_md5sums
         dh_builddeb

这对于小型项目来说通常是足够的。

答案 1 :(得分:2)

configure通常是GNU构建系统(autotools)的一部分,它在典型的Qt项目中没有使用。 qmake用于构建文件生成,它在内部处理大多数非{qt项目的configure任务。

Qt应用程序的典型构建安装过程是

qmake
make 
make install

如果需要命令名称相同,可以创建一个调用qmake的简单./configure脚本。如果需要,您还可以将自动工具与Qt配合使用,例如, Qt Creator Instructions For Autotools

答案 2 :(得分:0)

Qt经常与CMake一起使用,我强烈推荐。值得注意的一点是它喜欢out-of-source-builds。

您的配置脚本可能是

#!/bin/bash
(mkdir build; cd build; ccmake ..)

,makefile可能是

#!/bin/bash
(cd build; make)

答案 3 :(得分:0)

较新版本的debhelper支持qmake。 规则文件,例如

#!/usr/bin/make -f
%:
        dh $@ --buildsystem=qmake

仅此而已。您需要

bar.file = foo
bar.path = install/dir

INSTALLS += bar

在项目“ pro”或qmake文件内部。 qmake将创建安装目标,然后将调用perl文件 /usr/share/perl5/Debian/Debhelper/Buildsystem/qmake.pm 并解析qmake文件。您需要创建“ debian /”文件,变更日志 compat control 版权以及规则文件。