Qt is continuing it progress towards becoming the primary development option for third-party applications on Symbian, with the release of Qt 4.6.1. While a minor release, it brings a big step forward by delivery on the binary compatibility promise made to Symbian developers.
Read on in the full article.
[Qt 4.6] arrived with one significant drawback, a lack of binary compatibility with Qt for other environments. This meant that code created in 4.6 for Symbian would not necessarily execute on other supported platforms and that any code specifically designed for Symbian would need to be recompiled when binary compatibility was achieved.
The above comment, specifically the part highlighted in bold, could be somewhat misleading. In the context of Qt, "platform" ususally refers to the host OS on which Qt applications are built and run - for example Windows / Mac / Linux / Symbian. Talking about binary compatibility between "supported platforms" therefore could be read as meaning that Qt is a "compile once, run anywhere" framework like Java, whereas it is actually a "write once, compile anywhere" set of C++ libraries.
The BC compatibility promise for Qt on Symbian is as follows:
- Applications compiled against Qt 4.6.0 for Symbian are not guaranteed to run on a Symbian device with version 4.6.1 or later of the Qt libraries.
- Applications compiled against Qt 4.6.1 for Symbian are guaranteed to run on a Symbian device with version 4.6.2 or later of the Qt libraries. This promise will be maintained throughout the Qt 4 series.
- No promise is made about forward compatibility on Symbian, so it is not guaranteed that - for example - an application compiled against Qt 4.6.2 for Symbian will run on a Symbian device with version 4.6.1 or earlier of the Qt libraries. This is to allow features (e.g. QtOpenGL support) to be added in future releases.
The important point - as you say - is that developers can now pick up and start using Qt on Symbian, safe in the knowledge that any code which they write will not break when the Qt libraries are updated in future releases.
Thanks for the correction Gareth, you are absolutely right.