轉載一篇好文章:Qt for S60開發環境全接觸

來源:互聯網
上載者:User

站所有文章由本站和原作者保留一切權力,僅在保留本著作權資訊、原文連結、原文作者的情況下允許轉載,轉載請勿刪改原文內容, 並不得用於商業用途。 謝謝合作。

原文連結:http://www.cuteqt.com/blog/?p=295


者最近比較勤勞, 花了一天的時間把qt-s60的環境安裝並測試了一下, 發現還挺有意思, 特此memo。
聽說諾X亞內部已經開始使用qt開發程式, 所以各位看官也要抓緊拉, 如果你掌握了這門技術,
沒準兒以後就能在諾X亞大顎家裡謀個一官半職……後半輩子就不用愁了,呵呵~

網上關於Qt For S60的安裝和配置已經有了一些現成的文章, Qt文檔裡也有一些內容, 但筆者感覺還是比較零散不夠系統, 一方面語言的問題, 另一方面找起來太廢力氣。 本文算是集大成,哈哈(吹一把)~ 加張圖,證明吹牛隻是咱的副業……

開發過程需要用到的軟體包及其主要作用

Windows環境

需要一台裝有Windows的機器, 虛擬機器也可, 但要記憶體配置1G及以上, 太少了不行。 筆者使用虛擬機器裝Windows XP, 記憶體1G。 C盤保證5G以上的剩餘空間(還不見得夠用)。

諾X亞手機一部

手機中的S60系統是3.1及以上版本。 本文以Nokia N95 8GB為藍本。

Nokia PC Suite

這個是Windows和Nokia手機串連的工具, 後面往手機上安裝自己的程式時需要用到。 在Nokia網站下載:
http://nds1.nokia.com/files/support/global/phones/software/Nokia_PC_Suite_7_1_26_1_chi_sc_web.exe

Qt for S60

下載在http://pepper.troll.no/s60prereleases/

這個包當然是必不可少的。 最近的版本被命名為“Garden”, 多麼的詩情畫意啊! Trolltech的人還真有藝術細胞。

Perl和JRE

這兩個工具是S60 SDK運行需要的工具。 需要注意的是Perl要求必須是5.6.1版本, 高低都不行。 下載在

http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi

JRE隨便一個比較新的版本就行, 下載最新版本到sun的網站:

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jre-6u14-oth-JPR@CDS-CDS_Developer

Carbide C++ 2.0

必裝工具, 而且低版本的不行。 下載在:

http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/

需要註冊帳號並登入才能下載。

S60 SDK 3rd Edition FP1


必須是3rd FP1以上版本。 我在forum nokia網站上還找到了3rd FP2, 但不如這個版本好找, 推薦下載此版本, 下載在:
http://sw.nokia.com/id/577ad48d-290c-4bb5-8bdf-779ea8a5bc6c/S60_5th_Edition_SDK_v1_0_en.zip

需要註冊和登入。 這個包有三百多兆, 下載比較耗時較長。 安裝後要佔用將近3G的空間, 可是個絕對的大部頭。

另外注意如果你用的是Nokia N97,需要去下載N97對應版本的SDK; Nokia 5800 XpressMusic需要使用 5th Edition 的SDK。 其他的配置方式與本文所述基本一致。

Open C/C++的外掛程式

S60 SDK 3.1需要安裝此包, 高的版本已經帶了此工具就不需要單獨下載安裝了。 下載在:

http://www.forum.nokia.com/main/resources/technologies/openc_cpp/

需要註冊和登入

安裝和配置步驟

1、先裝Perl和JRE, 隨便選擇路徑即可, 對應的環境變數會自動化佈建。
2、把Carbide C++ 2.0, S60 SDK 3rd Edition FP1, Open C++分別安裝到預設路徑下, 順序沒有什麼關係。 安裝SDK過程中會提示安裝gcce編譯器, 這個是用來編譯手機上的程式用的toolchain。
3、將qt for S60的包解壓縮到C:/, 取個簡單的目錄名, 比如叫qt-s60.
4、更新Rpipe。 進入C:/Symbian/9.2/S60_3rd_FP1/, 將此目錄下的RPipe_3.1.zip解壓縮到當前位置。
5、
更新先行編譯的Qt S60庫, 這是交叉編譯需要的。
將C:/qt-s60/qts60binaries/3.x/qtlibs-4.5.0-garden.exe
拷貝到C:/Symbian/9.2/S60_3rd_FP1/並運行。 這個包裡帶了Qt給s60 arm系統編譯的二進位檔案,
交叉編譯器時需要連結。
6、從開始菜單裡找到Programs->Carbide.C++ v2.0->Configure
environment for WINSCW command line, 運行此命令。 該命令會配置編譯x86版本的S60程式需要的環境變數,
這樣在普通的windows命令列也可以使用這些環境了。

編譯Qt for S60的模擬器版本

S60 SDK提供了一個案頭版本的S60環境模擬器, 我們要把Qt編譯成對應的版本就可以在模擬器上運行和調試Qt程式了。
首先“開始”->”運行”->”cmd”開啟一個Windows命令列終端,
cd c:/qt-s60
set PATH=c:/qt-s60/bin;%PATH%  //注意命令格式和linux環境下的區別, 另外注意不要隨便加空格。
configure -platform win32-mwc -xplatform symbian-abld //這個步驟會產生qmake工具和各個目錄下的Makefile, 耗時較長

make debug-winscw //編譯命令, 耗時較長編譯對記憶體要求較高是筆者實踐的經驗, 最開始筆者的虛擬機器分配512M記憶體, 這一步總是出錯, 而且是很嚇人的某某工具內部錯誤, 後來記憶體增加到1G就沒有問題了。

上面的命令如果都能成功運行, Qt的模擬器版本就編譯出來了。 後面我們要找一個小qt程式來測試環境是否正確配置。

運行測試程式


便選一個Qt程式, 也可以是自己寫的, 筆者用Qt內建的例子來測試。 提醒大家注意的是這個程式必須和S60S SDK環境放在同一個盤符下,
在我們的環境裡就是必須放在C盤。 因為S60的環境去找檔案的時候前面沒有給出盤符,
如果放到其他分區下就會出現找不到Symbian下的檔案的問題。

進到qt-s60目錄下的examples/painting/basicdrawing, 運行命令:
make debug-winscw //編譯
make run //在模擬器裡運行

這時會先彈出Windows的防火牆介面, 選“Unblock”, 再彈出S60模擬器介面, 並且會彈出一個Open C++的一個類似許可證的介面, 要關閉這個介面程式才會運行。 好了, 順利的話你應該就能看到程式跑在模擬器裡的樣子了。

編譯和發布手機程式

將你的手機串連與電腦的PC Suite串連。

安裝Qt的基本庫


到Qt的先行編譯包, 在C:/qt-s60/qts60binaries/5.0/qt_libs_armv5_udeb.sisx, 雙擊此檔案PC
Suite會自動安裝, 這個包只需要安裝一次, 除非你升級Qt版本。 注意, 如果你的手機是像筆者一樣有多個儲存空間,
請選擇安裝在手機(而不要選安裝在儲存卡), 這其中的道理筆者也沒有弄明白, 只是不安裝在手機上就運行不起來。

安裝pips包

如果你的手機裡沒有帶這個軟體, 那麼需要安裝一下。 從http://pepper.troll.no/s60prereleases/patches/pips_nokia_1_3_SS.sis
下載後雙擊安裝。 此包只需安裝一次。

編譯和安裝例子程式

還是以剛才的basicdrawing程式為例。
進入程式目錄, 運行命令:
make debug-gcce //編譯
createpackage
-i basicdrawing_gcce_udeb.pkg //這一步筆者這裡出錯了, 不知道為什麼,唉;
後來改用了rvct的編譯器就成功了。
大家試一下看看gcce能成功嗎?給我留言。(後來筆者換用另外一台機器的環境這個步驟就成功了,事實證明這個免費提供的toolchain也是可以用
的。 至於筆者環境究竟哪裡除了問題還需要繼續深入研究。)

如果使用商業版的RVCT編譯器, 這裡的編譯和打包命令略有不同, 應為:

make debug-armv5
createpackage -i basicdrawing_armv5-udeb.pkg

PC Suite會自動彈出安裝介面, 手機端也會彈出安裝介面, 與前面安裝qt庫一樣。

Qt的examples裡面的例子預設安裝在手機菜單“應用程式”同級的“QtExamples”檔案夾下, 而如果是你自己寫的程式, 則會安裝在“應用程式”檔案夾內, 大家可別找不到程式在哪兒哦~

好了, 快點來感受一下Qt程式在手機上的效果吧。 顯示方面和在模擬器上沒有什麼區別, 只是筆者發現Qt程式對鍵盤的處理好像還沒有做好, 上下鍵都不好使, 對於鍵盤操作的手機可真讓人鬱悶了。 這個問題還需要繼續研究一下。

總的來說配置Qt For S60的環境雖然步驟比較多, 但一步一步做下來還算是個比較傻瓜的過程。 唯一的問題是如果一切順利還好辦, 萬一哪一步出點什麼錯就麻煩了, 基本上有任何問題都會成為不可調和的矛盾, 這一點讓人覺得太不爽了。

本站所有文章由本站和原作者保留一切權力,僅在保留本著作權資訊、原文連結、原文作者的情況下允許轉載,轉載請勿刪改原文內容, 並不得用於商業用途。 謝謝合作。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.