通常,要在基于Linux的操作系统上安装软件包,请使用
./configure
make
make install
这是如何工作的?如何创建可以这种方式安装的软件包?
我的应用程序使用Qt框架,我认为我的目标是“MyPackage.tar.gz”
答案 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 ,版权以及规则文件。