一.安裝 1.Nokia Qt SDK安裝 按照這個流程Qt_for_symbian_開發環境安裝基本上是不會有什么大問題的。但是我要說一個注意的地方,就是Nokia Qt SDK有離線和在線安裝兩個版本的,我住的小區長城寬帶光纖接入2M的帶寬,平時下個幾百兆的電影,幾分鐘。用在線安裝我裝了一天,最后能NEXT了,不是少這個就是少那個文件。基本上個人建議選擇離線的吧,雖然比較大,但是問題很少,還能重復利用。 另外上邊那個安裝流程的鏈接里面選擇的例子是Easeing Curve,本人的機型是N95 8GB版,不支持。所以選擇例子的時候要注意,不行的時候多試兩個,別像我似的,又費了半天勁才注意到。 集成的Qt Creater讓人很不爽,只要應用程序跑不起來,它就告訴你General OS-related error,當然它讓人不爽的地方還有很多,這也可能和我經常用VS的編譯器有關。 一般情況下如果出現了General OS-related error,第一步可以先通過.sis文件直接在手機上安裝的方法,如果不能安裝或者運行,手機會給出提示的,上面的Easeing Curve在運行時我手機上顯示的就是“功能不被支持!” 2.qt-mobility庫的安裝 這里,我發一點牢騷,也不知道是不是Nokia的人腦袋進水了,你既然都叫Nokia Qt SDK了,偏偏把qt-mobility這個庫另外打包,還要手動安裝,我的天啊,做個自動安裝的包,能累死你啊,并且還搞的很負責任的一個樣子,告訴你這是一個安裝時的bug,那首歌怎么唱來著,“那痛苦的滋味,你是否真能體會!”。這個庫的安裝流程見在Qt S60中使用QtMobility做開發,另外請大家看一下那段紅色的字,我始終沒有搞明白,我下載了Nokia Qt SDK到底是需要裝這個庫啊還是不需要裝啊,最后經過實踐得出結論不用捉摸了,裝吧!另外這個連接僅供參考,至于怎么裝還是看我的這個吧(我也是費勁查的和試的) 我能確認的安裝流程: 1)下載這個庫的時候,一定要選擇帶這個詞Source and binary Symbian的那個文件,即該頁面里的第三個下載文件,比較大將近200M,其它的,我下了都不行,也不知道為啥,反正我試通了,而且網上搜一下基本都是這個才能成功。 2)解壓縮文件所在盤符要和Nokia Qt SDK在一個盤符,中間不能有中文(這個用過Qt Creater的我估計會知道的)。 3)程序開始〉Nokia SDk〉Symbian〉Qt for Symbian command prompt 進入到qt-mobility解壓后文件所在的路徑 之后執行:configure.bat這個文件,所時間看電腦配置,基本上幾分鐘。 在我家里的電腦和單位的筆記本運行結果都是一樣的: 直接就是configure failed 我查啊,查啊,到底哪不對,試了好幾次,都是這樣,放棄了。這個錯誤不用管,還可以繼續,有誰知道怎么解決請告訴我。 4)執行3)完了以后,進入到qt-mobility解壓后文件夾,網上說對的我搜到得是這個哥們說的(前輩啊!) 抄錄如下: ------------------------------------------------------------------------------------------------------------------------------------------------------------- 問題解決了!!!!! 我的問題出在我安裝的qtmobility版本太老了,是1.0.1而在這版本里還沒有QCamera的功能,所以我下了一個新的版本,即:在 http://qt.nokia.com/products/qt-addons/mobility里下載,當然這里面你還是需要選擇的,就是你要下 windows還是symbian的你要仔細分清,因為在symbian里有適合S60 FP1、FP2和5th。cd到qtmobility 接著是configure 接著qt-mobility-1.1.0-epoc32- 將 還有在下載的安裝包里有例子,可以試著編譯下,編譯通過,就代表你OK了 ------------------------------------------------------------------------------------------------------------------------------------------ 需要注意的: (1)文件夾里有好幾個帶epoc的壓縮文件,暈不,根本就沒有說明,如下圖: 首先確定Qt的版本號,打開Qt Creater IDE 的about 看一下,我的是Based on Qt 4.7.0 (32 bit),所以這里肯定選基于4.7.2的文件,另外上Nokia網站上查一下你手機對應的symbian的版本,如N95 8GB版對應的是:S60 3rd Edition, Feature Pack 1,所以應當選3.1版的,最后選的就應當是qt-mobility-1.1.1-s60-qt-4.7.2-epoc32-3.1.zip這個文件進行上面的前輩所寫的手動安裝說明,以上版本選擇,純屬我個人猜的或者是蒙的,反正我沒有找到說明。 (2)通過Qt for Symbian command prompt 運行'qmake -v'所獲得的路徑是不準確的,它返回的是庫文件所在的路徑,而上面所說的 QTDIR是指NokiaQtSDK\Symbian\SDK這個路徑,要不然你找不到他說的那幾個文件夾。 5)以上執行完后,打開qt-mobility下的例子程序,打開Nokia ovi套件,連上手機(手機上軟件安裝,見第一步Nokia Qt SDK安裝說明),運行環境選擇 symbian device(如下圖) ,如果編譯能通過,恭喜你!如果不行,你就能體會我當時的心情了,基本上是網上查資料,試,不行,再查,再試,直到編譯能通過為止。 二.讓軟件在手機上跑起來 1.純Qt編寫的程序 純Qt是指只調用Qt標準庫的功能而不進行手機相關的應用開發,如HelloWorld程序,不需要簽名直接就能運行。 2.萬惡的簽名 如果第一步安裝讓我感覺到痛苦,那么和獲得Symbian signed簽名比起來,就不算啥了,人窮志短啊。網上說的什么獲得publish id,生成什么cer文件,下載DevCertRequest程序,下載TC-ConvertP12及生成這個,生成那個,導入這個,導入那個,哥們全試了,結果眼看就要成功了,提交到網上,結果是無效的數字簽名,最后的最后,終于查到了,要錢 1600RMB,我想罵人!哥忍了,畢竟沒錢不能怨人家! 還好,還有一種方式,官方叫做openSignedOnline,網址是這個,第一個IMEI號,是你想跑的Nokia智能手機的IMEI號,打開手機輸入*#06#顯示的序列號,輸進去,下面那個輸入郵箱地址,最后一個把你生成好的.sis文件的路徑輸進去,之后等著收郵件,郵件里面會有一個確認的鏈接地址,進行確認,之后再收郵件,會給你發一個你的.sis文件進行了Symbian signed的下載地址,進行下載,下載之后,安裝到手機上,運行,就可以看到你的程序運行效果了,如果有問題,修改之后再執行上面的流程,每次都要這樣。哥們我改了一下午的程序,就為了我的程序能發短信,沒干別的,主要是收郵件。 如果說我在別人手機上裝程序,你這樣,我能忍!我在我自己手機上玩,還需要你同意,還需要你簽名,算你狠! 三.調用短信功能 我弄了這么多天,就是想讓手機應用程序,能夠自動的發個短信,所以貼上代碼(也是網上找的) QMessageService service; QMessage message; QMessageAddressList toList; QMessageAddress::Type addrType(QMessageAddress: hone); toList.append(QMessageAddress(addrType, tr("134XXXXXXXX")));//電話號碼//這里可以設置群以號碼 message.setType(QMessage::Sms);//短信類型 message.setTo(toList); //message.setSubject("this is the first msg!"); message.setBody(tr("It is success!")); service.send(message);真的好用,誰試誰知道,當我收到短信的那一刻,那叫一個…,哎大海啊,都是TMD水!這回哥真會發短信了!不容易啊!四.變態的Nokia Qt Creater IDE 哥搞開發時間也不算長,帶帶拉拉才7、8年而已,我見過程序最多的警告也就百八十個的那都算多的了,看看這個狗屁IDE,一個幾十行的程序,它給了我多少警告,這種警告根本就是沒用,看它比看程序還累,這個只有Nokia Qt Creater 才這樣,普通的Qt Creater 這個不是這樣的: 我現在明白了,網上都說“Nokia手機硬件比較優秀,軟件一般”,這句話的含義了。 五.總結 最后總結一下,以上是我個人的使用體會,自己看著都覺得復雜,能幫到大家最好,幫不到你也別拍我,Qt相對來說還是一個很新的東西,但是我個人認為非常值得一學,至于Qt的跨平臺特性,那對你有意義才有用。我之所以拿NOKIA手機試,也是因為,不想走哪都背著一臺電腦,把一些如算授權碼的小程序,放到手機上還是很方便的,除此之外我也沒有錢買蘋果。 一個產品服務還是比較關鍵的,我認為Nokia的服務有問題,這種模式根本就不利于廣大技術人員的技術普及,但是我想說的是,這些問題和Qt沒有關系,photoshop就是用Qt編的,功能很強大,這是誰也否定不了的。 |