You can read more on platform specific issues in the Qt documentation. Not only because the platforms are different, but also because the distribution mechanisms differ. Files that are hard to place here would be example documents and other files that the user expects to be able to find in the file system.īuilding installation packages is, and will probably always be, somewhat a platform specific task. This can be help documentation, icons and pictures, translations, etc. This is the logical place for most files used only by the executable and not the user. It allows you to embedd any file into your executable. The easiest way to achieve this is to use the Qt resource system. The third category of files, support files, can also be integrated into the executable. Not including the plugins will not cause your deployed application to fail to start - but just criple the functionality of it. You must deploy any plug-ins that your application relies on. Something worth mentioning when discussing dynamic libraries are plug-ins. It compressed the executables which are then decompressed in RAM when being started and is available from Windows, OS X and Linux (as well as Atari ST and 16-bit DOS).
The problem with large file sizes can be addressed using the UPX tool. Also, when deploying multiple Qt-based applications, each application will carry its own copy of the Qt libraries, instead of relying on a shared set of dynamic libraries. Instead, you will either have to open source your code, or acquire a commercial Qt license.Īnother downside of static linking is that your executables will be significantly larger, as they have to contain all the Qt modules that you ar relying on.
Installbuilder qt mode code#
This, however, does mean that you cannot close your source code and reply on the LGPL. This requires you to configure and build a static version of Qt. The other approach, which works across all platforms, is to link Qt statically to your application.
Installbuilder qt mode install#
Most modern Linux distributions will then offer the user to download and install Qt for them when they try to install your package. By building your application against a prepackaged version of Qt, you can usually put Qt down as something that your application depends on. On most Linux distributions, Qt is already packaged. The trouble of having to package and spread dynamic libraries can be solved in two ways. That package not only contains the needed files, but also instructions on where to place them and what questions the user will have to answer, and so on. When creating an installer, you take these parts and build a package out of them. Support files, such as graphics, translations, documentation, and so on.
Installbuilder qt mode .dll#
Dynamic libraries (dll or so files), usually a couple of Qt modules (QtCore, QtGui and friends) and plug-insģ.
The executable, the program that the user runs.Ģ. These can be divided into three groups:ġ. A Qt application generally consists of a number of files.