Symbian FAQ: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=Frequently Asked Questions (<span class="caps">FAQ</span>) for Qt for Symbian=
[[Category:Developing_with_Qt::General]]


This <span class="caps">FAQ</span> ported from [http://qt.gitorious.org/qt/pages/SymbianFAQ Gitorius] ''[qt.gitorious.org]''. Last update before port 30 June, 2010.
[toc align_right=&quot;yes&amp;quot; depth=&quot;2&amp;quot;]


==Q: Do you support Carbide.c++ v1.2?==
= Frequently Asked Questions (FAQ) for Qt for Symbian =
 
This FAQ ported from &quot;Gitorius&amp;quot;: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.
A: No. Recommended Carbide version to use is 2.0.2 and up.


==Q: Which S60 <span class="caps">SDK</span>s are supported?==
== Q: Which S60 SDKs are supported? ==


A: Qt has been tested with the S60 3.1, 3.2, 5.0 and N97 <span class="caps">SDK</span>.
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?==
== 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
A: See http://doc.trolltech.com/4.6/requirements-symbian.html


==Q: What platforms does Qt for Symbian support?==
== Q: What platforms does Qt for Symbian support? ==


A: S60 3rd edition feature packs 1 and 2, S60 5th edition, Symbian^3.
A: S60 3rd edition feature packs 1 and 2, S60 5th edition, Symbian^3.


==Q: Which Qt modules are currently working on Symbian?==
== 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
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?==
== 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
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==
== Q: Which parts are currently left out of QtGui ==


A: Printing and accessibility.
A: Printing and accessibility.


==Q: Which parts are currently left out of QtNetwork?==
== Q: Which parts are currently left out of QtNetwork? ==


A: No support for IPv6 and no support for multicast.
A: No support for IPv6 and no support for multicast.


==Q: What input methods are supported in the current release?==
== 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.
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?==
== Q: Which devices has Qt for Symbian release been tested on? ==


A: N78, N79, N95, N97, 5800 XpressMusic and 6290
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 ?==
== 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.
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.
Line 49: Line 53:
Make sure you have patched your x86 compiler by typing in command prompt:
Make sure you have patched your x86 compiler by typing in command prompt:


The build number should be 482 or later.
<code>mwccsym2.exe <s>version<br />Expected output is:<br />Version 3.2.5 build 482 (Build 482)<br /></code>
<br />The build number should be 482 or later.


==Q: I give up. I need help from the mailing list. What should I include?==
<br />h2. Q: I give up. I need help from the mailing list. What should I include?
<br />A: When sending email to feedback list please include the following information in your post:
<br /># Executable that you are trying to run.<br /># Environment that you are working with e.g. S60 5.0 v.1.0<br /># Call stack of the error occurring, see section the question about how to obtain call stack from carbide.
<br />h2. Q: How do I get call stack from Carbide 2.0?
<br />A: First you need to import your project to carbide in order to debug it. Select file</s>&gt;import-&gt;Symbian OS-&gt;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.


A: When sending email to feedback list please include the following information in your post:
== Q: How do I load my plugin? I tried loading it from but it fails. ==


# Executable that you are trying to run.
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.
# 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.


==Q: How do I get call stack from Carbide 2.0?==
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.


A: First you need to import your project to carbide in order to debug it. Select file-&gt;import-&gt;Symbian OS-&gt;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: Qt applications get an additional white window with a black cursor. How can I fix this? ==


==Q: How do I load my plugin? I tried loading it from \sys\bin but it fails.==
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:


A: In Qt for Symbian we had to implement plugin stubs to get around the need for AllFiles capability to access \sys\bin 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 <span class="caps">DEPLOYMENT</span> 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.
<code><br /> STDIN = MEDIA1<br /> STDOUT = MEDIA4<br /></code>


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.
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 &amp;#37;EPOCROOT&amp;amp;#37;.


==Q: Qt applications get an additional white window with a black cursor. How can I fix this?==
== Q: Installing Qt on N78 with firmware PR 1.0 fails. How can I work around it? ==
 
A: This is a result of having the ‘stdioserver’ package installed. This application is a server process that redirects <span class="caps">STDIN</span> and <span class="caps">STDOUT</span> to a console window by default. This behavior can be be changed by modifying the configure file located at “C:\system\data\config.ini”. The relevant change involves editing the [STDIO] section and changing <span class="caps">STDIN</span> and <span class="caps">STDOUT</span> to be:
 
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 <span class="caps">SDK</span> is %<span class="caps">EPOCROOT</span>%\winscw\c\system\data.
 
==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.
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?==
== 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.
A: Try installing it again. If that fails, try installing the Open C packages + “qt.sis” + “qtwebkit.sis” one by one.


==Q: I think I have discovered a bug in Qt. Where can I report it?==
== Q: I think I have discovered a bug in Qt. Where can I report it? ==


A: http://bugreports.qt.nokia.com
A: http://bugreports.qt.nokia.com
===Categories:===
* [[:Category:Developing with Qt|Developing_with_Qt]]
** [[:Category:Developing with Qt::General|General]]

Revision as of 06:27, 24 February 2015


[toc align_right="yes&quot; depth="2&quot;]

Frequently Asked Questions (FAQ) for Qt for Symbian

This FAQ ported from "Gitorius&quot;: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 <s>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 &#37;EPOCROOT&amp;#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.

Q: I think I have discovered a bug in Qt. Where can I report it?

A: http://bugreports.qt.nokia.com