Difference between revisions of "Building Qt for QNX Neutrino OS"

From Qt Wiki
Jump to: navigation, search
Line 1: Line 1:
=Building Qt for <span class="caps">QNX</span> Neutrino OS=
==Setting up the environment==
After installing the [[QNX Platform|required software]] you need to source the qnx environment script:
==Get the sources==
There are two ways how to get a copy of the Qt’s source code:
# Download an archive of a released version (see the folder &lt;&lt;release-nr&gt;/single&gt; [http://download.qt.io/official_releases/qt/ this link] ''[download.qt.io]'' for open source releases or check your Qt Account to copy a commercial release, if you have Qt Enterprise license for <span class="caps">QNX</span>)
# Clone Qt git repository and
## use the master repository to build and all required submodules in one run
## build and install QtBase and then build submodules one by one as separate projects
The first way is a good choice if you just like to use a last released version of the source code. If you like to get any changes before an official release, you have to clone the source code from git.
All Qt Essential modules (excluding QtWebKit) and some of the add-on modules are supported on <span class="caps">QNX</span> (for a complete list, [[Qt Status on QNX|visit this page]]). In the below build process, every module should be cloned individually. Make sure that you clone/build/use only the modules which are known to work on <span class="caps">QNX</span>.
This procedure building separate modules one by one is different to standard one where one master repository is used, but provides a better overview what is build and installed.
Clone the following submodule repositories in a new folder:
Note: the above list corresponds to the list of modules supported on <span class="caps">QNX</span>. A few additional git submodules are used in regular builds to support the Qt toolchain and localizations process: qtscript, qttranslations, qttools, qtdoc
The alternative way with cloning the source code from the Qt’s master repository for a build for <span class="caps">QNX</span> is the same as documented in the [[Building Qt 5 from Git|generic instructions for building Qt5]]. You just have to make sure that you initialize only those modules which you need and which are supported and make sure you skip “qtwebkit”, unless you know how to build it for <span class="caps">QNX</span>:
If you use an archive with Qt5 source code you can proceed to the next steps : configuring the build.
==Configure and building QtBase==
Configuring and building Qt 5 for <span class="caps">QNX</span> is very similar to other platforms so it is worth having a quick read through [[Building Qt 5 from Git|generic instructions for building Qt5]] and take a look on the [[Building-Qt5-for-Blackberry|Build Instructions for BlackBerry 10]] before proceeding.
When running configure, the “xplatform” parameter has to be passed to the script. The value of this parameter for <span class="caps">QNX</span> is “qnx-armle-v7-qcc” for '''arm''' builds and “qnx-x86-qcc” for '''×86''' builds. You can configure and make a build only for one target in one run.
If you cloned separate modules from git, you have to change into the folder with the QtBase module and run “configure” from there. If you have cloned Qt5 master repository, or use an archive with all Qt5 sources, you use the configure located in the root folder of the Qt source code base.
Building with the install prefix “-prefix” is highly recommended. The prefix parameter should be set to the location where Qt will be installed on the host.
On Linux and Mac the “configure” shell script has to be executed.
If you do very frequent builds you can also add “-confirm-license” and pre-select the type of license your are using with e.g. “-opensource”. This will let configure just run and not ask any questions on the console.
Note that this are minimal required configure options. Other options can be used as well, e.g. to shorted the build time by exclusion of tests or examples, etc.
If you build modules separately, QtBase can simply be built by executing
The same command will make and install in the entire Qt with other choices
The steps for Linux are valid for Windows, considering the well-known platform differences. There are no <span class="caps">QNX</span> specific differences in building on Windows.
==Building other modules==
If you build modules separately, you should now have the QtBase module installed in the &lt;<span class="caps">INSTALLFOLDER</span>&gt; directory. In order to build the other Qt modules, you should just go through all git repositories you cloned as above and build them as “regular” Qt projects. Make sure that you use “qmake” from the QtBase module you just have built and installed (i.e. from the &lt;<span class="caps">INSTALLFOLDER</span>&gt;/bin directory) and not the one you might have in $PATH.
Some modules have dependencies to others (e.g. QtQuickControls depend on QtQuick to be built and installed). If built in the wrong order the results might be build errors or disabled features. So it is recommended to build the modules in the order as listed above.
===Use the build===
See the page [[QNX-App-development-and-deployment|Qt application development and deployment on <span class="caps">QNX</span>]] to learn how to use this build for development.
==Pre-Built Binaries==
Binary installers for <span class="caps">QNX</span> are available with commercially licensed [http://qt.digia.com/Products/Qt-Enterprise-Embedded/RTOS/ Qt Enterprise] ''[qt.digia.com]''.
[http://qt.digia.com/About-Us/Contact-Us/ Contact Digia to get Qt Enterprise evaluation for <span class="caps">QNX</span>] ''[qt.digia.com]''.
* [[:Category:QNX|QNX]]

Revision as of 07:22, 24 February 2015