Qt Simulator
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
English Italian
[toc align_right="yes" depth="3"]
Qt Simulator
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":http://www.gnu.org/licenses/lgpl.html Blog entries: "http://labs.qt.nokia.com/category/qt-simulator/":http://labs.qt.nokia.com/category/qt-simulator/ Git repo: "http://qt.gitorious.org/qt-labs/simulator":http://qt.gitorious.org/qt-labs/simulator
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":http://qt.gitorious.org/qt-labs/simulator, the master branch
- "Remote Control Widget":http://qt.gitorious.org/qt-labs/remotecontrolwidget, the simulator-master branch
- "Qt Messaging Framework (QMF)":http://qt.gitorious.org/qt-labs/messagingframework, commit a4adb57b076e
For building applications destined to run inside Qt Simulator, you need:
- "Simulator Qt":http://qt.gitorious.org/~qtbynokia/qt/simulator-qt, the 4.7 branch
- "Simulator Qt Mobility":http://qt.gitorious.org/~qtbynokia/qt-mobility/simulator-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