Qt Simulator

From Qt Wiki
Revision as of 06:50, 7 August 2017 by Rainer Keller (talk | contribs)
Jump to navigation Jump to search

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh


Qt Simulator

The Qt Simulator described here was discontinued. Its successor is the Qt for Device Creation Emulator which is available as part of the commercial offering. It uses a regular Qt running inside a VM using a GL streaming solution for rendering on the host graphics card.

A fast and lightweight simulator for Qt applications running on Nokia devices.

p=. Project Name: Qt Simulator Platforms: Windows, Linux, Mac Qt Version: Qt 4.7 License: LGPL Blog entries: http://labs.qt.nokia.com/category/qt-simulator/ Git repo: http://code.qt.io/cgit/%7Bnon-gerrit%7D/qt-labs/simulator.git

Compiling

Building Qt Simulator and its dependencies is a little tedious at the moment. If you just want to use it, we recommend you install the Nokia Qt SDK instead. If you want to build from source, follow this step-by-step instruction. Note that the order of the steps is important.

Repositories

The simulator application itself requires Qt as well as code contained in these repositories:

For building applications destined to run inside Qt Simulator, you need:

Preparation

Create two directories:

  • (simulator-qt-mobility-prefix)
  • (simulator-depends)

Set the environment variables to the matching paths:

  • QT_NOKIA_SDK_PATH=(Simulator Qt source directory)
  • QT_MOBILITY_SOURCE_PATH=(Simulator Qt Mobility source directory)
  • QMF_INCLUDEDIR=(QMF source directory)/src/libraries/qmfclient
  • QMF_LIBDIR=(simulator-qt-mobility-prefix)/lib
  • SIMULATOR_DEPENDENCY_PATH=(simulator-depends)

Simulator application

  • Get a Qt 4.7. We call this the Desktop Qt. Use only this Qt here.
  • Run qmake -r QMF_INSTALL_ROOT=(simulator-depends) on QMF in a build directory of your choice.
  • Build and install (QMF)/src/libraries/qmfclient.
  • Build and install (QMF)/src/plugins/contentmanagers/qmfstoragemanager
  • Build and install Qt Mobility. Pass -modules "connectivity location contacts versit organizer" -prefix (simulator-depends) to configure.
  • Build and install (Remote Control Widget)/library. Pass PREFIX=(simulator-depends) to qmake.
  • Build the simulator itself.

Dependencies for client applications

  • Build the Simulator Qt, passing -simulator and -developer-build to configure. On linux, pass -opengl if you want to. Use only this Qt here. That means all further steps in this section should use the Simulator Qt's qmake.
  • Run qmake -r QMF_INSTALL_ROOT=(simulator-qt-mobility-prefix) on QMF in a build directory of your choice that's different from the one above.
  • Build and install (QMF)/src/libraries/qmfclient.
  • Build and install (QMF)/src/plugins/contentmanagers/qmfstoragemanager.
  • Build and install Simulator Qt Mobility. Pass -prefix (simulator-qt-mobility-prefix) to configure. (set PATH to make sure the Simulator Qt's qmake is used)

Client applications

Register the Simulator Qt you built in Qt Creator and select the Qt Simulator target to build client applications. Alternatively, use the Simulator Qt's qmake directly.

Development

Branches

We categorize branches into:

  • maintenance branch: Maintenance for a released version. Can be merged into the development branch.
  • development branches: This is where new features go.
  • staging branch for X: Will automatically be merged back and forth to and from X.
  • active release branches: More stable branches used for future releases. No changes should be pushed to them. The release manager will cherry-pick fixes.
  • inactive release branches: Previously active release branches that are kept for reference. Will not change.

These are the current branches:

  • simulator/1.1: maintenance branch
  • simulator/master: development branch
  • simulator-qt/4.7: development branch, qt/4.7 is merged regularly
  • simulator-qt/4.7.4: active release branch, qt-releases/4.7.4 is merged regularly
  • simulator-mobility/1.1: maintenance and staging branch for qt-mobility/1.1
  • simulator-mobility/1.2.0: active release branch, qtmobility-releases/1.2.0 is merged regularly
  • simulator-mobility/master: development branch and staging branch for qt-mobility/master
  • remotecontrolwidget/simulator: maintenance branch (use with simulator/1.1)
  • remotecontrolwidget/simulator-master: development branch (use with simulator/master), remotecontrolwidget/simulator is merged regularly

Inactive branches:

  • simulator/1.0.1: inactive branch
  • simulator-qt/4.7.0: inactive release branch
  • simulator-qt/4.7.0-beta2: inactive release branch
  • simulator-qt/4.7.0-beta1: inactive release branch
  • simulator-qt/4.7.1: inactive release branch
  • simulator-qt/4.7.2: inactive release branch
  • simulator-mobility/1.0: maintenance and staging branch for qt-mobility/1.0
  • simulator-mobility/1.1.1: inactive release branch, based on qtmobility-releases/1.1.1
  • simulator-mobility/1.0.2: inactive release branch based on qt-mobility-releases/1.0.2
  • simulator-mobility/1.0.1: inactive release branch based on qt-mobility-releases/1.0.1
  • simulator-mobility/1.0.0: inactive release branch based on qt-mobility/1.0.0