File: deployment.html

package info (click to toggle)
qt4-x11 4%3A4.8.2%2Bdfsg-11
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 701,696 kB
  • sloc: cpp: 2,686,179; ansic: 375,485; python: 25,859; sh: 19,349; xml: 17,091; perl: 14,765; yacc: 5,383; asm: 5,038; makefile: 1,259; lex: 555; ruby: 526; objc: 347; cs: 112; pascal: 112; php: 54; sed: 34
file content (113 lines) | stat: -rw-r--r-- 9,642 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- deployment.qdoc -->
  <title>Qt 4.8: Deploying Qt Applications</title>
  <link rel="stylesheet" type="text/css" href="style/offline.css" />
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="content"> 
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
  </div>
  <div class="breadcrumb toolblock">
    <ul>
      <li class="first"><a href="index.html">Home</a></li>
      <!--  Breadcrumbs go here -->
<li>Deploying Qt Applications</li>
    </ul>
  </div>
</div>
<div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#static-vs-shared-libraries">Static vs. Shared Libraries</a></li>
<li class="level1"><a href="#deploying-qt-s-libraries">Deploying Qt's Libraries</a></li>
<li class="level1"><a href="#licensing">Licensing</a></li>
<li class="level1"><a href="#platform-specific-notes">Platform-Specific Notes</a></li>
</ul>
</div>
<h1 class="title">Deploying Qt Applications</h1>
<span class="subtitle"></span>
<!-- $$$deployment.html-description -->
<div class="descr"> <a name="details"></a>
<p>Deploying an Qt application does not require any C++ programming. All you need to do is to build Qt and your application in release mode, following the procedures described in this documentation. We will demonstrate the procedures in terms of deploying the <a href="tools-plugandpaint.html">Plug &amp; Paint</a> application that is provided in Qt's examples directory.</p>
<a name="static-vs-shared-libraries"></a>
<h2>Static vs. Shared Libraries</h2>
<p>There are two ways of deploying an application:</p>
<ul>
<li>Static Linking</li>
<li>Shared Libraries (Frameworks on Mac)</li>
</ul>
<p>Static linking results in a stand-alone executable. The advantage is that you will only have a few files to deploy. The disadvantages are that the executables are large and with no flexibility (i.e a new version of the application, or of Qt, will require that the deployment process is repeated), and that you cannot deploy plugins.</p>
<p>To deploy plugin-based applications, you can use the shared library approach. Shared libraries also provide smaller, more flexible executables. For example, using the shared library approach, the user is able to independently upgrade the Qt library used by the application.</p>
<p>Another reason why you might want to use the shared library approach, is if you want to use the same Qt libraries for a family of applications. In fact, if you download the binary installation of Qt, you get Qt as a shared library.</p>
<p>The disadvantage with the shared library approach is that you will get more files to deploy. For more information, see <a href="sharedlibrary.html">Creating Shared Libraries</a>.</p>
<a name="deploying-qt-s-libraries"></a>
<h2>Deploying Qt's Libraries</h2>
<table class="generic">
<thead><tr class="qt-style"><th  colspan="4">Qt's Libraries</th></tr></thead>
<tr valign="top" class="odd"><td ><a href="qaxcontainer.html">QAxContainer</a></td><td ><a href="qaxserver.html">QAxServer</a></td><td ><a href="qtcore.html">QtCore</a></td><td ><a href="qtdbus.html">QtDBus</a></td></tr>
<tr valign="top" class="even"><td ><a href="qtdesigner.html">QtDesigner</a></td><td ><a href="qtgui.html">QtGui</a></td><td ><a href="qthelp.html">QtHelp</a></td><td ><a href="qtnetwork.html">QtNetwork</a></td></tr>
<tr valign="top" class="odd"><td ><a href="qtopengl.html">QtOpenGL</a></td><td ><a href="qtscript.html">QtScript</a></td><td ><a href="qtscripttools.html">QtScriptTools</a></td><td ><a href="qtsql.html">QtSql</a></td></tr>
<tr valign="top" class="even"><td ><a href="qtsvg.html">QtSvg</a></td><td ><a href="qtwebkit.html">QtWebKit</a></td><td ><a href="qtxml.html">QtXml</a></td><td ><a href="qtxmlpatterns.html">QtXmlPatterns</a></td></tr>
<tr valign="top" class="odd"><td ><a href="phonon-module.html">Phonon</a></td><td ><a href="qt3support.html">Qt3Support</a></td></tr>
</table>
<p>Since Qt is not a system library, it has to be redistributed along with your application; the minimum is to redistribute the run-time of the libraries used by the application. Using static linking, however, the Qt run-time is compiled into the executable.</p>
<p>In general, you should <a href="deployment-plugins.html">deploy all plugins</a> that your build of Qt uses, excluding only those that you have identified as being unnecessary for your application and its users.</p>
<p>For instance, you may need to deploy plugins for JPEG support and SQL drivers, but you should also deploy plugins that your users may require, including those for accessibility. For more information about plugins, see <a href="plugins-howto.html">How to Create Qt Plugins</a> and <a href="deployment-plugins.html">Deploying Plugins</a>.</p>
<p>When deploying an application using the shared library approach you must ensure that the Qt libraries will use the correct path to find the Qt plugins, documentation, translation etc. To do this you can use a <tt>qt.conf</tt> file. For more information, see the <a href="qt-conf.html">Using qt.conf</a> documentation.</p>
<p>Depending on configuration, compiler specific libraries must be redistributed as well. For more information, see the platform specific Application Dependencies sections: <a href="deployment-x11.html#application-dependencies">X11</a>, <a href="deployment-windows.html#application-dependencies">Windows</a>, <a href="deployment-mac.html#application-dependencies">Mac</a>.</p>
<a name="licensing"></a>
<h2>Licensing</h2>
<p>Some of Qt's libraries are based on third party libraries that are not licensed using the same dual-license model as Qt. As a result, care must be taken when deploying applications that use these libraries, particularly when the application is statically linked to them.</p>
<p>The following table contains an inexhaustive summary of the issues you should be aware of.</p>
<table class="generic">
<thead><tr class="qt-style"><th >Qt Library</th><th >Dependency</th><th >Licensing Issue</th></tr></thead>
<tr valign="top" class="odd"><td ><a href="qthelp.html">QtHelp</a></td><td >CLucene</td><td >The version of clucene distributed with Qt is licensed under the GNU LGPL version 2.1 or later. This has implications for developers of closed source applications. Please see <a href="qthelp.html#license-information">the QtHelp module documentation</a> for more information.</td></tr>
<tr valign="top" class="even"><td ><a href="qtnetwork.html">QtNetwork</a></td><td >OpenSSL</td><td >Some configurations of <a href="qtnetwork.html">QtNetwork</a> use OpenSSL at run-time. Deployment of OpenSSL libraries is subject to both licensing and export restrictions. More information can be found in the <a href="ssl.html">Secure Sockets Layer (SSL) Classes</a> documentation.</td></tr>
<tr valign="top" class="odd"><td ><a href="qtwebkit.html">QtWebKit</a></td><td >WebKit</td><td >WebKit is licensed under the GNU LGPL version 2 or later. This has implications for developers of closed source applications. Please see <a href="qtwebkit.html#license-information">the QtWebKit module documentation</a> for more information.</td></tr>
<tr valign="top" class="even"><td ><a href="phonon-module.html">Phonon</a></td><td >Phonon</td><td >Phonon relies on the native multimedia engines on different platforms. Phonon itself is licensed under the GNU LGPL version 2. Please see <a href="phonon-module.html#license-information">the Phonon module documentation</a> for more information on licensing and the <a href="phonon-overview.html#backends">Phonon Overview</a> for details of the backends in use on different platforms.</td></tr>
</table>
<a name="platform-specific-notes"></a>
<h2>Platform-Specific Notes</h2>
<p>The procedure of deploying Qt applications is different for the various platforms:</p>
<ul>
<li><a href="deployment-x11.html">Qt for X11 Platforms</a></li>
<li><a href="deployment-windows.html">Qt for Windows</a></li>
<li><a href="deployment-mac.html">Qt for Mac OS X</a></li>
<li><a href="qt-embedded-deployment.html">Qt for Embedded Linux</a></li>
<li><a href="deployment-symbian.html">Qt for the Symbian platform</a></li>
</ul>
</div>
<p><b>See also </b><a href="installation.html">Installation</a> and <a href="platform-specific.html">Platform-Specific Documentation</a>.</p>
<!-- @@@deployment.html -->
  <div class="ft">
    <span></span>
  </div>
</div> 
<div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2012 Nokia Corporation and/or its
      subsidiaries. Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Nokia, Qt and their respective logos are trademarks of Nokia Corporation 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
</div>
</body>
</html>