一般安裝一個基於Linux的操作系統上的包你用如何爲Qt應用程序創建「安裝」包?
./configure
make
make install
這是如何工作的?我該如何創建一個可以這種方式安裝的軟件包?
我的應用程序使用Qt框架,我想我的目標類似「MyPackage.tar.gz」
一般安裝一個基於Linux的操作系統上的包你用如何爲Qt應用程序創建「安裝」包?
./configure
make
make install
這是如何工作的?我該如何創建一個可以這種方式安裝的軟件包?
我的應用程序使用Qt框架,我想我的目標類似「MyPackage.tar.gz」
configure
通常是GNU的編譯系統(自動工具),這是不是在使用中的一部分典型的Qt項目。 qmake
代替構建文件生成,它在內部處理大多數configure
任務爲非qt項目所做的工作。
典型的建立Qt應用程序的安裝過程是
qmake
make
make install
你可以創建你所需要的命令名稱是相同的調用QMAKE一個簡單的./configure腳本。如果需要,您也可以使用帶Qt的自動工具,請參閱Qt Creator Instructions For Autotools
您可以從您的項目中創建一個debian軟件包。據我所知,你想創建一個用於分發的包,所以我建議從你的項目中創建一個debian包。 Here是Debian包裝系統的簡介。在文章中他們在某個時候描述瞭如何創建一個「規則」文件,這是構建過程的核心。這裏是它的一個樣品,我通常用我的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
這通常是sufficent的小項目。
Qt通常與CMake一起使用,我強烈推薦。一個值得注意的地方是它喜歡外部構建。
你的配置腳本可能是
#!/bin/bash
(mkdir build; cd build; ccmake ..)
和makefile文件可能是
#!/bin/bash
(cd build; make)