2010-01-20 5 views
15

Qt가 설치되어 있다고 가정 할 수없는 고객의 컴퓨터에 설치해야하는 Qt 앱이 있습니다. 나는 Mac OSX에 있고 컴퓨터는 Unix 기반 시스템에 설치할 예정입니다. 나는 GUI 설치 마법사 나 그와 비슷한 것을 필요로하지 않으므로 직접 설치하게 될 것이다. 이상적으로 모든 소스와 필요한 라이브러리가있는 폴더와 함께 스크립트 나 메이크 파일로 끝내고 싶습니다. 어디서부터 시작해야할지 모르겠습니다. 참고 문헌은 많이 감사 할 것이고, 나는 많은 구글 검색 후에 유용한 것을 발견하지 못했다.고객 시스템에 Qt 애플리케이션을 설치하는 방법은 무엇입니까?

는 내 질문은 사이 어딘가에 자리 잡고 두 : 나는 필요하지 않은
Can you create a setup.exe in qt to install your app on a client computer?
Create Linux install for Qt application?

본격적인 설치 마법사 (질문 1), 그러나 나는 또한 설치시 내 컴퓨터가되지 않습니다 사이트는 모든 의존성이 충족 될 때까지 라이브러리를 계속 복사합니다 (질문 2). 기본적으로 CD에 들어갈 때마다 설치 준비가되어 있어야합니다. 미리 감사드립니다.

답변

16

시스템에 Qt는 응용 프로그램을 설치하는 데에는 두 가지 방법이있다 :

1 - 당신은 정적 Qt를 컴파일 할 수 있습니다가. 이렇게하면 qt 의존성없이 앱을 배포 할 수 있습니다. http://qt-project.org/doc/qt-4.8/deployment.html : -

2 당신은 당신은 Qt는 문서의 각 플랫폼에 대한 모든 explications를 찾을 수

당신이 (Windows의 qtcore.dll 같은)가 필요합니다 Qt를 librairy 파일을 사용하여 응용 프로그램을 배포해야합니다.

설치 프로그램을 만들려면 Windows 및 Unix 용으로 InstallJammer을 사용할 수 있습니다.

MacOSX의 경우 dmg 이미지를 만들어야합니다. 이것은 매우 간단합니다. 도움을 받으려면 다음 웹 페이지를 읽으십시오 : http://www.wikihow.com/Make-a-DMG-File-on-a-Mac. Apple 스크립트를 사용하여 dmg를 사용자 정의 할 수 있습니다 (응용 프로그램 폴더 링크를 dmg로 사용자 정의 할 수 있음).

Win32 설치 프로그램에 대한 나의 선호도는 NSIS입니다.

희망 하시겠습니까?

+0

Qt를 정적으로 컴파일하면 컴파일 할 필요가 없습니다. 고객 시스템과 정확히 같은 시스템/아키텍처에 있습니까? 해당 시스템에서 소스를 컴파일해야 할 필요가 없습니까? –

+0

응용 프로그램에서 사용할 정적 또는 동적 라이브러리를 갖기 위해서는 각 시스템에서 Qt를 컴파일해야합니다. 두 가지 방법으로 동일합니다 (전체 프레임 워크를 설치하면 동적 라이브러리가 이미 컴파일됨을 제외하고) –

+3

또한 LGPL 라이센스하에 폐쇄 소스, 정적으로 준수 된 Qt 앱을 배포 할 수 없습니다. –

0

설치 마법사를 방지하려는 이유가 확실하지 않습니다. 또한 Uninstaller, 바탕 화면 및 시작 메뉴 바로 가기를 만드는 데 도움을 줄 수 있습니다. 참조한 게시물에서 언급했듯이 BitRock InstallBuilder (Nokia에서는 Qt Creator 용으로 사용함)

마법사를 사용하지 않으려면 정적으로 컴파일하고 싶지 않다면 Qt 라이브러리를 앱과 같은 폴더에 번들로 묶어 LD_LIBRARY_PATH를 해당 디렉토리로 설정하는 쉘 스크립트를 설정하십시오.