Qt4.6.2目前存在的问题(symbian)

本文列举了Qt 4.6.2版本在Symbian平台上的已知问题,包括编译问题、模拟器限制、手机安装注意事项以及一些通用问题。还提供了一些具体解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt4.6.2目前存在的问题(symbian)

本文列出Qt-4.6.2中存在的一些已知问题,方便各开发者查阅。

Contents
[hide]

    * 1 编译
    * 2 Symbian 模拟器
    * 3 手机安装
    * 4 通用问题(QtCore and QtGui)
    * 5 QtNetwork 相关问题
    * 6 QtWebkit 相关问题
    * 7 Bug 跟踪

编译

    * 无法使用GCCE编译Qt库。
    * 在RVCT中引入头文件不能使用#include <QtTest>这种形式,必须使用#include<QtTest/QtTest>这种形式。
    * 利用qmake命令产生的Makefile,需要GNU make来执行,Symbian SDKs中的make.exe能够满足需要。如果你调用了不兼容GNU Make的make.exe程序(比如,ARM RVCT 中的make.exe),那么可能无法正确使用Makefile。
    * The wrapper makefiles created by qmake may cause conflicts with raptor’s make engine, the workaround is to run sbs directly or to use a GNU make with a different exe name (e.g. mingw32-make.exe) to run the wrapper makefiles.

Symbian 模拟器

    * 不支持在模拟器中同时启动多个应用。启动第二个应用的时候会返回KErrNotSupported(-5)。
    * The Emulator (32-bit Windows application) is limited to 2GB address space. Mwccsym2 links the debug symbols into the executable creating big chunks of memory, this causes a situation where even a small chunk of linear memory is too much to fit into the memory causing application/emulator just bails out without any error note. Error is easy to spot if the executable dies before reaching main() and you have just increased epocheapsize maximum in .pro file.
    * Changing MegabytesofFreeMemory crashes S60 3rd edition FP 1 – emulator at start up.

手机安装

    * 如果手机里已有旧的版本在安装Qt.sis时可能会失败。请先删除手机中的技术预览版,然后重新安装。
    * 如果将Qt库安装在外部存储卡上,由于Symbian会对外部存储卡上的库文件做额外的检查,启动Qt应用将会变得很慢。所以Qt库只能装在手机存储器中(C:盘)。
    * 供手机安装的Qt.sis二进制代码指令集是armv6的,像N96等不支持armv6的手机无法运行Qt应用。

通用问题(QtCore and QtGui)

    * 某些widget可能会超出屏幕之外,即使你调用的是widget.showFullScreen()。
    * 长时间运行高CPU负荷的应用,可能会导致程序启动管理器进程(比如应用列表菜单)崩溃和ViewSrv应用终止。
    * QLocal和QDesktopServices在S60 3rd fp1版本中工作不正常。
    * QFileSystemModel sometimes creates duplicate nodes for files and directories if the file name and path case doesn’t match exactly the case of the file name in the file system.
    * 对于垂直和非常大的字体渲染还没有达到呈现最佳状态。
    * Qt应用帮助中的"About Qt"对话框太大并且无法滚动,因此在S60无法匹配屏幕正常显示
    * 在每一次socket连接网络的时候都会弹出IAP(因特网访问接入点)选择框。如果不想重复选择,你可以参考examples里的 FTP或Anomaly,这俩程序演示了如何使用默认连接。
    * 在鼠标压住拖动到时候,有时无法把鼠标事件发送给正确的接收者。
    * Using virtual keyboard to edit QLineEdit that has input mask only works properly if masked characters are filled in order starting from the beginning of the string.
    * Using QWidget::lower() on a top level window will put the whole application to background. This will most likely be solved in the future by introducing separate window groups for each top level window. Note that this solution may impact the contents of the task switcher, making each top level window show up as a separate task.
    * 对某些Qt Demo应用,在s60 3.x系统如n95上切换屏幕的显示方向可能需要几秒钟的时间

QtNetwork 相关问题

    * 网络应用需要networkservices能力,请在.pro文件中增加target.capability = networkservices
    * 网络例子程序在选取IAP(因特网访问接入点)并且长时等待“preshared key for WLAN”对话框情况下会导致崩溃(ViewSrv 11).
    * 网络例子程序会使用第一个IAP(因特网访问接入点)会导致某些连接问题(比如,在连接的时候MMS接入点正在工作中)

QtWebkit 相关问题

    * Webkit应用需要networkservices能力,请在.pro文件中增加target.capability = networkservices
    * 在.pro里增加target.epocheapsize 0x200000 0x2000000语句,将会为你的应用设置最小2MB,最大为32MB的堆大小。
    * 在模拟器中运行webkit应用大部分情况下需要增加内存空间,请修改%EPOCROOT%/epoc32/data /epoc.ini文件中的MegabytesOfFreeMemory选项
    * 用“-fpu vfpuv2”参数编译webkit在运行javascript代码时会导致随机崩溃(kern-exec 3)。
    * webcore.pro只能在命令行中编译,如果在Carbide中编译会导致内存耗尽错误。
    * QtWebkit在armv5中QtWebkit只能编译成release模式。编译成debug模式将会导致RVCT链接程序内存耗尽。

Bug 跟踪

    * 如果你想了解更多关于Qt-4.6.x的有关Bug报告,报告已经解决的或者尚未解决的,请访问The Bug Tracker
    * 这是一个公共的bug跟踪系统, 如果你发现有什么新的Bug,请点击“create new issue”链接进行报告link(需要是注册用户)。

 

Known issues Qt 4.6.2

Symbian

Also see common questions in SymbianFAQ.

Compiling

  • Qt libraries cannot be compiled with GCCE.
  • Header inclusion like #include <QtTest> won’t work for RVCT. Use #include <QtTest/QtTest> instead.
  • The wrapper makefiles created by qmake require GNU make to execute, the make.exe in the Symbian SDKs is sufficient for this. If you have an incompatible make.exe in your path (e.g. the one installed by ARM RVCT), the wrapper makefiles may fail.
  • The wrapper makefiles created by qmake may cause conflicts with raptor’s make engine, the workaround is to run sbs directly or to use a GNU make with a different exe name (e.g. mingw32-make.exe) to run the wrapper makefiles.

Symbian emulator

  • Running multiple Qt applications in emulator is not possible. Starting second application will return KErrNotSupported(-5).
  • The Emulator (32-bit Windows application) is limited to 2GB address space. Mwccsym2 links the debug symbols into the executable creating big chunks of memory, this causes a situation where even a small chunk of linear memory is too much to fit into the memory causing application/emulator just bails out without any error note. Error is easy to spot if the executable dies before reaching main() and you have just increased epocheapsize maximum in .pro file.
  • Changing MegabytesofFreeMemory crashes S60 3rd edition FP 1 – emulator at start up.

Installation on the phone

  • Installing the qt.sis, that is shipped with the package, may fail due to stale state on the phone. Please uninstall any technology preview version from the phone, and repeat the installation once more.
  • If Qt libraries are installed to memory card, startup of Qt applications is very slow due to Symbian doing additional checking of libraries found from removable media. Therefore, Qt libraries can only be installed to the phone memory (C:).
  • Distributed Qt .sis packages contain binaries built with armv6, making it impossible to run them on N96, which doesn’t support armv6.

General issues (QtCore and QtGui)

  • Sometimes widgets can grow out of the screen boundaries even with widget.showFullScreen()
  • Apps that cause heavy CPU load for long periods can crash the launching process (e.g. application menu) with ViewSrv 11 panic.
  • QLocale Symbian system locale support and QDesktopServices do not work properly in S60 3rd edition FP 1 builds/devices.
  • QFileSystemModel sometimes creates duplicate nodes for files and directories if the file name and path case doesn’t match exactly the case of the file name in the file system.
  • Font rendering: Vertical and very big fonts do not yet get rendered optimally.
  • The “About Qt” dialog is too big and impossible to scroll, therefore not fitting properly fit properly on S60 device screen.
  • IAP query dialog can be displayed each time socket tries to connect. For workaround please look at source code for FTP or Anomaly examples. There you can see how to set default IAP.
  • Mouse events are not always sent to the correct receiver when pressing down and dragging.
  • Using virtual keyboard to edit QLineEdit that has input mask only works properly if masked characters are filled in order starting from the beginning of the string.
  • Using QWidget::lower() on a top level window will put the whole application to background. This will most likely be solved in the future by introducing separate window groups for each top level window. Note that this solution may impact the contents of the task switcher, making each top level window show up as a separate task.
  • Switching orientation on a S60 3.x (like the N95) takes several seconds for some Qt demos. See bug report here

QtNetwork specific issues

  • Requires networkservices capability to connect to internet. Remember to add target.capability = networkservices in .pro file.
  • Network using examples might crash (ViewSrv 11) when selecting IAP and while waiting for some longer time in “pre-shared key for WLAN” dialog.
  • Network using examples will use first active IAP and that might cause connectivity issues in some cases (i.e. MMS access point in use at that time).

QtWebkit specific issues

  • Requires networkservices capability to connect to internet. Remember to add target.capability = networkservices in .pro file.
  • Add target.epocheapsize 0x200000 0x2000000 in .pro files. This will set your minimum application heap size to 2MB and the maximum to 32MB.
  • Running webkit examples will in most cases require you to increase memory usage of the emulator which can be done by editing MegabytesOfFreeMemory setting in %EPOCROOT%/epoc32/data/epoc.ini.
  • Building webkit with -fpu vfpuv2 causes random crashes (kern-exec 3) when running javascript code.
  • webcore.pro must be built from command line, building from Carbide runs out of memory.
  • QtWebkit can only be build for release mode in armv5. Building debug will cause the RVCT linker to run out of memory.

Bug Tracker

  • A list of bugs reported on 4.6.x, which are fixed in 4.6.1 or later (or not fixed yet) can be seen at The Bug Tracker
  • This is a public bug tracker, so you can report any newly discovered bugs using the “create new issue” link (after registering)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值