原文链接:APORTALE - Start with Qt 4.7 for Symbian, Today
您是不是一直想在一个Symbian手机上测试您的QML项目,但却一直无法实现,因为目前还没有一个容易的方式搭建在Symbian上跑的Qt 4.7环境?那么本文可能还有些用处。我将会向您展示一个方便的小技巧,它可以用来在SDK 1.0基础之上搭建在Symbian上运行Qt 4.7环境,而且不用和传统的Symbian环境安装过程进行战斗。
注意:这只是一个方便的小技巧并且不被Nokia支持。如果您不想冒丢失半个小时时间的风险或者您更想要一个完整的安装包方案,请您略过本文并且等待支持在Symbian上运行Qt 4.7的SDK的官方发布。并且是的!我们正在努力地工作着让下一个SDK发布支持在Symbian上运行Qt 4.7 :)。好的东西总是需要时间,所以现在的SDK 1.0支持的是4.6,而不是4.7,并且不支持在Symbian上跑QML。
- 下载并且安装SDK 1.0
下载SDK 1.0(您可以决定使用在线版或者离线版)。然后运行安装程序并且以“Default”(默认)模式(会安装很多东西!)或者“Custom”(自定义)模式运行它。如果是自定义模式[屏幕快照],请确定您至少选择了“Symbian for Qt 4.6”组件[屏幕快照]。
- 创建一个Symbian SDK的复制并且把其中的Qt 4.6移除
您应该有一个叫做<sdkdir>SymbianSDK的目录。为它创建一个复制,例如:<sdkdir>SymbianSDK-qt-4.7.1。然后把里面的Qt 4.6.3删除,如下:(首先请切换到新的SDK-qt-4.7.1目录下)
del /Q *
del /Q /S epoc32releasearmv5q* epoc32releasearmv5phonon.*
rd /Q /S bin include lib mkspecs src
- 下载并且安装Qt 4.7.1 Symbian
下载Qt 4.7.1 Symbian并且运行安装程序。
编辑:根据原文的一个评论,对于Symbian^3,您需要下载Qt 4.7.0 Symbian并安装它。
“Choose Components”(选择组件)步骤:请选择“Symbian SDKs->Choose additional folder(s)”(Symbian SDK->选择另外的文件夹)。[屏幕快照]
“Choose Install Location”(选择安装位置)步骤:请选择一个“Destination Folder”(目标文件夹)。我喜欢使用<sdkdir>SymbianSDK-qt-4.7.1qt [屏幕快照],但是您可以自由选择,只要您保证和SDK所在的驱动器一致就可以了。
“Select Symbian SDK directories”(选择Symbian SDK目录)步骤:把“root 1”(根 1)目录设置为<sdkdir>SymbianSDK-qt-4.7.1。[屏幕快照]
- 把App Trk和Qt 4.7.1安装到您的Symbian设备上
App Trk:您可以在<sdkdir>Symbiansis下面找到它。请安装和您的S60/Symbian版本一致的那一个。
Qt 4.7.1 Symbian^1(S605.0)及以下:请安装<sdkdir>SymbianSDK-qt-4.7.1qtqt_installer.sis
Qt 4.7.1 Symbian^3:Symbian^3设备的幸运拥有者可以在这里找到Qt 4.7的开发版本。 - 把新的Qt版本添加到Qt Creator中
打开“Tools->Options->Qt4->Qt Versions”(工具->选项->Qt4->Qt版本),并且按下“+”按钮。[屏幕快照]
版本名称:您自己的选择。我使用了一个大家肯定想不到的“Qt for Symbian 4.7.1”。
qmake位置:我们在步骤3中安装的qmake.exe。在我这里是:<sdkdir>SymbianSDK-qt-4.7.1qtbinqmake.exe
S60 SDK: <sdkdir>SymbianSDK-qt-4.7.1
CSL/GCCE目录: <sdkdir>Symbiangcce,和预安装的Qt 4.6 Symbian中相同的gcce版本的目录。 - (可选项)安装一个Qt Creator快照
下载Qt Creator的快照并且安装。可选项,但绝对值!
就是这些。啊,这个用法说明变得比预计的长很多,并且看起来有些可怕。但请相信我:和搭建Symbian环境的官方手册相比,就算不上什么了。在下一个SDK版本中,上述用法说明当然会被废弃了,并且所有的设置也就是点几下鼠标就可以完成的了。
现在开始在Symbian手机上享受您的QML创新吧!:)