Symbian FAQ
[toc align_right="yes" depth="2"]
Frequently Asked Questions (FAQ) for Qt for Symbian
This FAQ ported from "Gitorius":http://qt.gitorious.org/qt/pages/SymbianFAQ. Last update before port 30 June, 2010.
Q: Do you support Carbide.c++ v1.2?
A: No. Recommended Carbide version to use is 2.0.2 and up.
Q: Which S60 SDKs are supported?
A: Qt has been tested with the S60 3.1, 3.2, 5.0 and N97 SDK.
Q: What tools do I need to develop an application with Qt for Symbian?
A: See http://doc.trolltech.com/4.6/requirements-symbian.html
Q: What platforms does Qt for Symbian support?
A: S60 3rd edition feature packs 1 and 2, S60 5th edition, Symbian^3.
Q: Which Qt modules are currently working on Symbian?
A: QtCore, QtDeclarative, QtGui, QtMultimedia, QtNetwork, QtOpenVG (Symbian^3 only), QtScript, QtSql, QtSvg, QtTest, QtWebkit, QtXml, QtXmlPatterns, Phonon
Q: Which parts are currently left out of QtCore?
A: QtConcurrent not ported, QProcess doesn’t support streams, and QSettings not using Symbian specific storages i.e. Central Repository
Q: Which parts are currently left out of QtGui
A: Printing and accessibility.
Q: Which parts are currently left out of QtNetwork?
A: No support for IPv6 and no support for multicast.
Q: What input methods are supported in the current release?
A: Multitap and predictive text in any language, as well as virtual keyboard on touch based devices.
Q: Which devices has Qt for Symbian release been tested on?
A: N78, N79, N95, N97, 5800 XpressMusic and 6290
Q: I'm getting an error when trying to run example.exe, can you help me ?
A: Before sending email to feedback list please check that you have set your environment variables correctly and that you have patched your environment according to installation notes.
Make sure you have patched your x86 compiler by typing in command prompt:
mwccsym2.exe -version<br />Expected output is:<br />Version 3.2.5 build 482 (Build 482)<br />
The build number should be 482 or later.
h2. Q: I give up. I need help from the mailing list. What should I include?
A: When sending email to feedback list please include the following information in your post:
# Executable that you are trying to run.
# Environment that you are working with e.g. S60 5.0 v.1.0
# Call stack of the error occurring, see section the question about how to obtain call stack from carbide.
h2. Q: How do I get call stack from Carbide 2.0?
A: First you need to import your project to carbide in order to debug it. Select file->import->Symbian OS->Symbian OS bld.inf file If you can’t find bld.inf under your project directory you first need to run bldmake bldfiles from command prompt. In order to catch all errors occuring you need to check all but c++ exceptions under x86 exceptions tab in debug configurations. When running debug Carbide will stop at the point of error occuring. From Debug View select the call stack under thread saying suspended and copy (ctrl+c) it and paste it to the email you are about to send.
Q: How do I load my plugin? I tried loading it from but it fails.
A: In Qt for Symbian we had to implement plugin stubs to get around the need for AllFiles capability to access and some other issues. Plugin stubs are files with the same base name as the actual plugin dll but with a “.qtplugin” suffix. They need to be in some accessible location. For private plugins this is typically the application’s private dir, but for public plugins it can be anywhere; e.g. Qt extension plugins have default public base dir “/resource/qt/plugins” (which can be queried with QLibraryInfo::location(QLibraryInfo::PluginsPath), if needed at run-time, or via the $$QT_PLUGINS_BASE_DIR variable defined in the data_caging_paths.prf feature file, if needed in the .pro file). If either the stub or the actual plugin.dll are missing, the plugin loading will fail. The stub contents are mostly irrelevant. Only the file name and timestamp matter (the stub timestamp is checked in plugin caching). If the DEPLOYMENT variable is used properly, the stub gets generated and deployed automatically and you don’t need to worry about it. See http://doc.trolltech.com/4.6/qmake-variable-reference.html#deployment for details.
When loading plugins with QPluginLoader, do not give the plugin dll itself as a target, use the stub file instead, although for convenience you can use either “.dll” or “.qtplugin” as the suffix. E.g. if you have the plugin stub named as “c:/resource/qt/plugins/myplugins/foobar.qtplugin”, and the actual plugin as is located at “c:/sys/bin/foobar.dll”, you can use either QPluginLoader(“c:/resource/qt/plugins/myplugins/foobar.dll”) or QPluginLoader(“c:/resource/qt/plugins/myplugins/foobar.qtplugin”) to load the plugin. So basically you can treat the stub as you would the actual plugin on other platforms.
Q: Qt applications get an additional white window with a black cursor. How can I fix this?
A: This is a result of having the ‘stdioserver’ package installed. This application is a server process that redirects STDIN and STDOUT to a console window by default. This behavior can be be changed by modifying the configure file located at “C:.ini”. The relevant change involves editing the [STDIO] section and changing STDIN and STDOUT to be:
<br /> STDIN = MEDIA1<br /> STDOUT = MEDIA4<br />
MEDIA1 and MEDIA4 should be of the type ‘file’ and should have a path pointing to “in.txt” or “out.txt” respectively and located in the same directory as “config.ini”. You must also ensure that the “in.txt” file actually exists when making the above change. The above change will work both in the emulator as well as in hardware where the path inside the SDK is %EPOCROOT&#37;.
Q: Installing Qt on N78 with firmware PR 1.0 fails. How can I work around it?
A: Please upgrade device’s firmware to a newer release.
Q: When installing “qt_installer.sis” or “qt_demos.sis” it fails with error “–16”. How can I work around it?
A: Try installing it again. If that fails, try installing the Open C packages + “qt.sis” + “qtwebkit.sis” one by one.