Qt Simulator
Qt Simulator
The Qt Simulator described here was discontinued. Its successor is the Qt for Device Cration Emulator which is available as part of the commercial offering. It uses a regular Qt running inside a VM using a GL steaming solution to use the host graphics card for rendering.
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:
- Qt Simulator, the master branch
- Remote Control Widget, the simulator-master branch
- Qt Messaging Framework (QMF), commit a4adb57b076e
For building applications destined to run inside Qt Simulator, you need:
Simulator Qt, the 4.7 branchSimulator Qt Mobility, the 1.2.0 branch
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