2012-01-27 31 views
5

Nói chung để cài đặt một gói phần mềm trên hệ điều hành Linux-based bạn sử dụngLàm cách nào để tạo gói 'cài đặt' cho ứng dụng Qt?

./configure 
make 
make install 

làm việc như thế này? Và làm cách nào để tạo một gói có thể được cài đặt theo cách này?

ứng dụng của tôi sử dụng khuôn khổ Qt và tôi nghĩ rằng tôi đang nhắm đến một cái gì đó như "MyPackage.tar.gz"

Trả lời

2

configure thường là một phần của GNU xây dựng hệ thống (autotools), mà không được sử dụng trong một dự án Qt điển hình. qmake được sử dụng để tạo tệp xây dựng và nó xử lý nội bộ hầu hết các tác vụ configure làm cho các dự án không phải qt.

Các điển hình xây dựng quá trình cài đặt cho một ứng dụng Qt là

qmake 
make 
make install 

Bạn có thể tạo ra một kịch bản ./configure đơn giản mà các cuộc gọi qmake nếu bạn cần tên lệnh để được giống hệt nhau. Bạn cũng có thể sử dụng autotools với Qt nếu bạn cần, xem ví dụ: Qt Creator Instructions For Autotools

3

Bạn có thể tạo gói debian từ dự án của mình. Như tôi đã hiểu, bạn muốn tạo một gói dành cho việc phân phối, vì vậy tôi khuyên bạn nên tạo một gói debian từ dự án của bạn. Here là phần giới thiệu cho hệ thống Bao bì Debian. Trong bài viết, tại một số điểm mô tả cách tạo ra một "quy tắc" tập tin đó là cốt lõi của quá trình xây dựng. Đây là một mẫu của nó mà tôi thường sử dụng cho các dự án Qt/KDE của tôi:

#!/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 

Điều này thường rất sufficent cho các dự án nhỏ.

0

Qt thường được sử dụng với CMake, mà tôi khuyên bạn nên sử dụng. Một điểm đáng lưu ý là nó thích các bản dựng ngoài nguồn.

kịch bản cấu hình của bạn có thể

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

và makefile có thể

#!/bin/bash 
(cd build; make) 
Các vấn đề liên quan