S60 Qt 開發(fā)環(huán)境配置指南
安裝之前需要下載以下內(nèi)容:
ActivePerl 5.10.1 這是目前最新版本,S60 SDK需要perl 5.6.1以上版本
http://www.activestate.com/activeperl/ JRE Java runtime, S60 SDK 需要1.5以上的版本,我一向覺得Java版本管理混亂,下載最近的就好了
http://www.java.com/zh_CN/download/manual.jsp S60 5th SDK, 之所以選擇第五版,是因?yàn)檫@是支持觸摸操作的版本,現(xiàn)在觸摸很流行嘛,另外就是我只在5800上成功地安裝了QT程序,貌似S60 5.0以后的版本更可靠些。
http://www.forum.nokia.com/Technology_Topics/Development_Platforms/Symbian_C++/QuickStart.xhtmlCarbide 2.0的下載也在這里,不過(guò)下載需要你注冊(cè)Forum Nokia的帳號(hào),注冊(cè)一個(gè)吧也不麻煩,以后去論壇問(wèn)問(wèn)題也用得到。
Qt 4.6 for Symbian,下載build好的 binary吧,簡(jiǎn)單些,源代碼是不是真的能編譯過(guò),我不太確定,Windows/Linux的編譯都很簡(jiǎn)單 S60 的我還沒試過(guò),但是我知道arm的版本用gcce是編譯通不過(guò)的,需要RVCT才行,但是RVCT不免費(fèi),所以還是用TrollTech編譯好的binary吧。
http://qt.nokia.com/developer/qt-4.6-beta-for-symbian-developers 安裝順序:
ActivePerl, JRE, S60 SDK, Carbide, Qt
注意看提示,Carbide安裝完了之后,還要運(yùn)行程序菜單里面的一個(gè) bat的,用來(lái)配置環(huán)境變量,別忘了。
運(yùn)行下S60 模擬器,試試看吧,應(yīng)該是一個(gè)和5800差不多的界面,某些程序啟動(dòng)可能會(huì)報(bào)錯(cuò),無(wú)視之,其實(shí)Nokia內(nèi)部的模擬器更不穩(wěn)定,習(xí)慣鳥。
寫個(gè)程序看看?
先從普通的 S60程序開始吧,啟動(dòng) Carbide ,F(xiàn)ile->New->Symbian c++ project,然后選Gui Application, 會(huì)生成一個(gè)最簡(jiǎn)單的Helloworld工程。
可能你會(huì)發(fā)現(xiàn),Wizard運(yùn)行完了,界面上什么都沒發(fā)生,仍然是一個(gè)Welcome,別急,那是因?yàn)閃elcome視圖被最大化了,點(diǎn)右上角的 restore按鈕就好了。
編譯運(yùn)行下吧,編譯沒通過(guò)?有可能,看log會(huì)發(fā)現(xiàn)是一個(gè) Perl腳本的錯(cuò)誤,導(dǎo)致Help編譯失敗,間接導(dǎo)致 cpp編譯失敗,因?yàn)樯倭藗€(gè)頭文件。。。
這事兒真是腦殘,囧,解決方法只能是吧 Help去掉了,打開Bld.inf 注釋掉 help的 mk,cpp里和help有關(guān)的幾行都注釋掉,應(yīng)該就可以了。
在模擬器的 application 文件夾下,應(yīng)該可以看到Helloworld程序的,運(yùn)行也應(yīng)該沒問(wèn)題 ,只是顯示了個(gè) Note。
從開始下載,到現(xiàn)在,我整整用了4個(gè)小時(shí)了,還差最后一步,就是QT。
還是從 File->new開始,選擇 Qt project,這個(gè)工程取名叫 QHelloWorld吧按照Wizard都選默認(rèn)的就好,如果提示你沒有指定Qt 版本就指定一下,其實(shí)就是告訴Carbide的安裝目錄,選擇下bin的路徑而已,Qt版本號(hào)用 4.6.0就行。
編譯吧,應(yīng)該會(huì)很順利,qt沒有help搗亂了。運(yùn)行下看看吧,qt程序啟動(dòng)后什么都沒有,就有個(gè)status pane?當(dāng)然啦,默認(rèn)的程序什么都沒干嘛。
來(lái),我們給它加點(diǎn)東西,現(xiàn)在連退出按鈕都沒有。。。只能按 紅鍵 退出。
打開 Qhelloworld.ui 文件,會(huì)看到一個(gè)類似.Net 和 delphi的界面編輯器,從Windows->show view->other...里,把那幾個(gè)qt的view找出來(lái),重點(diǎn)是那個(gè)widgets box,然后就可以編輯UI了,先放一個(gè) 按鈕上去吧,取名叫 exitButton.
然后 打開 Qhelloworld.h 添加
private slots:
void on_exitButton_clicked()
{
qApp->quit();
}
好了,這樣QhelloWorld程序的界面上就會(huì)有一個(gè) 叫 exitButton的按鈕,按一下就退出程序了。
好了,既然搞定了模擬器,下面就是要搞定手機(jī)了,畢竟手機(jī)程序很在硬件上跑起來(lái)才有意義。
首先,你需要一個(gè) s60 5.0的手機(jī),比如 5800 5530什么的,N97也行。
然后去
http://qt.nokia.com/phonedemos 這里下載一個(gè) sis包,大約12Mb,手機(jī)下載太慢了,我是用筆記本下載,然后用藍(lán)牙傳到手機(jī)的。
或者你不想要那些實(shí)例程序,那么去Qt的安裝目錄找一個(gè) qt.sis裝吧,只有運(yùn)行庫(kù)。
安裝這個(gè) sis,會(huì)給你安裝很多程序,無(wú)論問(wèn)你什么都回答 yes ok就好了,相信吧,Qt和Nokia不會(huì)害你的。
這個(gè) sis包括了,qt所需要的運(yùn)行庫(kù)和一些demo程序,有了這個(gè),你自己的qt程序就可以在手機(jī)上跑了。
讓Qt程序運(yùn)行在手機(jī)上!
首先,我們需要編譯 Qt程序的armv5版本,在 build config里選擇 armv5 release,編不過(guò)?那是正常的,因?yàn)槲覀儧]有RVCT,這東西不免費(fèi)而且很貴。。。
還是用 GCCE吧,性能差點(diǎn),湊合了吧。但是沒有 GCCE這個(gè)選項(xiàng)啊?是沒有,我也沒找到 :(
解決這個(gè)問(wèn)題,首先要確認(rèn)你裝了GCCE沒有,在你的 S60 SDK安裝目錄下 epoc32\tools\distrib\ 找一個(gè) 叫 arm-none XXXXXX的文件,安裝之。
我安裝了還是沒在Carbide看到 GCCE的選項(xiàng)啊,說(shuō)實(shí)話,我也沒看到。
于是,我關(guān)掉這個(gè)工程,重新import一次,注意在選擇config的時(shí)候把下面的那個(gè) filter去掉,就可以看到 gcce選項(xiàng)了。
下一步 做 sis包
比較簡(jiǎn)單,打開工程的Properties, 選擇 build and configuration, 選擇 gcce config, 選擇 sis builder 頁(yè),點(diǎn)add 按鈕添加,選一個(gè)pkg文件,QHelloworld.pkg,輸入sis包的文件名,比如 qhelloworld.sis,其他都用默認(rèn)就好了。然后 build,就可以生成 sisx文件了,這是簽名的。