我该如何为Qt应用程序创建一个"安装"包?

5
通常在基于Linux的操作系统上安装软件包需要使用以下命令:
./configure
make 
make install

这是如何工作的?我要如何创建一个可以通过这种方式安装的包?
我的应用程序使用Qt框架,我认为我需要类似"MyPackage.tar.gz"这样的东西。
4个回答

3
你可以从你的项目创建一个Debian软件包。据我理解,你想创建一个用于分发的软件包,所以建议从你的项目创建一个Debian软件包。这里提供了一个关于Debian Packaging系统的介绍(点击此处)。在文章中它们在某个时候描述了如何创建一个“rules”文件,这是构建过程的核心。下面是我通常为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

这通常足以满足小型项目的需求。


2

configure通常是GNU构建系统(autotools)的一部分,而在典型的Qt项目中不使用该系统。相反,qmake用于生成构建文件,并且它在内部处理了大多数非Qt项目所需的configure任务。

Qt应用程序的典型构建安装过程如下:

qmake
make 
make install

如果你需要命令名称相同,可以创建一个简单的./configure脚本来调用qmake。如果需要,您也可以使用autotools与Qt一起使用,例如请参阅Qt Creator Autotools说明


0

Qt通常与CMake一起使用,我强烈推荐这样做。其中一个显著的优点是它支持外部构建。

你的配置脚本可以是:

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

而且makefile可以是这样的

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

0
较新版本的debhelper支持qmake。像这样的rules文件,
#!/usr/bin/make -f
%:
        dh $@ --buildsystem=qmake

只需要这些。你需要,

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

INSTALLS += bar

在您的项目的“pro”或qmake文件中,qmake将创建安装目标,并调用解析qmake文件的perl文件/usr/share/perl5/Debian/Debhelper/Buildsystem/qmake.pm。 您需要创建“debian /”文件,changelogcompatcontrolcopyright以及rules文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接