C++ SDK+Symbian開發

來源:互聯網
上載者:User

 

C++ SDK+Symbian開發入門之應用程式開發人員線上 Builder.com.cn 更新時間: 2007-12-28作者:陶剛編譯 來源:天極網本文關鍵詞: c++ SDK Symbian 應用程式

由於Series 60應用程式可以從命令提示字元或IDE中建立,因此我們同時詳細介紹了這兩種方法。我們先從使用IDE提供的C++編譯器建立運行在PC上的模擬器(也就是x86指令集)的項目開始。我們同時使用了調試建立,因此可以使用符號調試資訊和記憶體漏洞檢查(動態地檢查堆上分配的記憶體是否被正確地釋放了)。

  從命令列建立程式

  開啟命令提示字元並把當前路徑改變到包含Series 60 SDK的磁碟機/檔案夾中。導航到包含項目定義(helloworld.mmp)和組件描述(bld.inf)檔案的檔案夾——例如:

SymbianSeries602_0EMCCSoftHelloWorldgroup

  上面的代碼用於Series 60 2.x項目,或者

Symbian.1Series60EMCCSoftHelloWorldgroup

  上面的代碼用於Series 60 1.x項目。並輸入:

bldmake bldfiles

  一兩秒鐘之後這個命令就完成了,它沒有任何可視的輸出。它使用bld.inf和helloworld.mmp檔案產生了一個新檔案abld.bat。這個命令檔案一般是根據需要產生的。與bld.inf和.mmp檔案不同,abld.bat在不同的IDE之間是不能遷移的,並且不應該手動修改它。

  輸入下面的命令編譯和連結專案:

abld build wins udeb

—用於Visual C++

abld build winsb udeb

—用於Borland C++

abld build winscw udeb

—用於CodeWarrior

  Abld命令將為Series 60模擬器(wins、winscw或winsb)建立該項目(換句話說,就是編譯和連結),並把調試資訊包含在二進位可執行檔中。

  從IDE中建立程式

  項目(例如我們的樣本HelloWorld應用程式)通常在某個IDE中建立和運行,因此我們需要使用bld.inf和HelloWorld.mmp檔案建立特定IDE的專案檔。對於Visual C++來說,這種工作必須使用Symbian提供的工具在命令列上完成。對於Borland和CodeWarrior來說這是可選項,因為這兩種IDE都可以匯入bld.inf或.mmp檔案來建立IDE專案檔。

  當我們從命令提示字元開始工作的時候,如果abld.bat檔案不存在,就有必要建立它;如果.mmp檔案或bld.inf檔案改變了也需要重建立立它。在命令提示字元下輸入下面的內容建立abld命令檔案:

bldmake bldfiles

  使用微軟Visual C++建立程式

  開啟命令提示字元,導航到HelloWorld項目的磁碟機/專案檔夾,並輸入:

abld makefile vc6

  這將建立適合微軟Visual C++的項目和工作空間檔案(helloworld.dsp和.dsw檔案)。它們將位於Epoc32Build子檔案夾結構下;其完整的路徑依賴於SDK的位置,例如:

Epoc32BuildEMCCSoftHelloWorldHelloWorldWins

  通過在Visual C++中開啟工作空間檔案(helloworld.dsw),你可以編譯或連結應用程式,這是通過按下F7或使用IDE菜單選項Build|Build HelloWorld.app實現的。

  使用Borland C++IDE Builder 6建立程式

  如果你使用Borland C++Builder 6移動版(它是基於Borland C++Builder 6個人版並增加移動外掛程式構成的),你可以簡單地把HelloWorld項目的bld.inf檔案匯入IDE中。使用File|New|Other菜單選項,接著選擇對話方塊中的Mobile(移動)資料頁的Import Mobile Application(匯入行動裝置 App程式)。瀏覽組件描述檔案(bld.inf)的位置並開啟它。

  使用Ctrl+F9或菜單中的Project|Make建立程式。為了建立並運行,使用F9或菜單中的Run|Run。請注意F9Run|Run將導致項目每次都重建立立。如果僅僅在模擬器上運行,使用Tools|Mobile Build Tools|Run Emulator工具|移動建立工具|運行模擬器)。IDE可能會提示你儲存大量項目相關的檔案,例如Borland項目(.bpr)、Borland項目組(.bpg)檔案。這些檔案儲存的位置與你的bld.inf檔案的檔案夾相同。

  我們也可以執行獨立的abld命令並且運行其它一些SDK工具(例如Tools|Mobile Build Tools菜單上的aifbuildersisar)。

  使用Borland C++BuilderX建立程式

  使用任何一種商業C++BuilderX產品的時候,你都可以簡單地把HelloWorld項目的bld.inf檔案匯入IDE中。

  使用File|New並點擊對象通道(Object Gallery)中的Mobile C++資料頁。選擇Import Symbian C++ Project(匯入Symbian C++項目)。從下拉式清單中選擇正確的Series 60 SDK,瀏覽項目的bld.inf檔案的位置。點擊Next資料頁,給項目取一個名字,點擊Finish資料頁,項目將會開啟。按下Ctrl+F9Project|Make Project選擇。按下F9或選擇Run|Run Project或使用工具條項Make and Run運行項目。

  使用CodeWarrior IDE建立程式

  如果你使用的是Metrowerks CodeWarrior for Symbian(個人版2.5,其它的版本可能有稍微的不同),你可以簡單地使用IDE菜單選項File|Import Project from .mmp File(檔案|.mmp檔案匯入項目)來匯入HelloWorld.mmp檔案。

  這將運行項目轉換嚮導。選擇該項目使用的SDK,選擇(或瀏覽).mmp檔案,選擇一種WINSCW平台(或讓它空著)。Build變數的預設值是UDEB。使用F7或菜單中的Project|Make建立項目。

  CodeWarrior專案檔(.cmp、.xml、.resources和.pref檔案)都會自動地建立在HelloWorld.mmp檔案所在的目錄中。

  你也可以選擇通過命令列建立CodeWarrior IDE項目。運行前面描述的bldmake bldfiles,接著它會產生一個CodeWarrior IDE項目:

abld makefile cw_ide

  這將在目錄中建立一個可以匯入的專案檔HelloWorld.xml:

Epoc32BuildEMCCSoftHelloWorldHelloWorldWinscw

  現在你可以使用CodeWarrior匯入這個檔案並產生一個本地項目(.mcp)檔案。選擇File|Import Project(匯入項目)菜單選項,選中HelloWorld.xml檔案,為項目選擇一個名稱(例如HelloWorld)。CodeWarrior將產生並載入該項目,你可以使用正常的IDE命令進行建立、運行、調試等操作了。

 

 

C++ SDK+Symbian開發入門之運行開發人員線上 Builder.com.cn 更新時間: 2007-12-28作者:陶剛編譯 來源:天極網本文關鍵詞: c++ SDK Symbian 運行 在Series 60 SDk中可以使用兩個版本的模擬器可執行檔:一個版本包含符號調試資訊,另一個是發布版本。發布版模擬器限制為只能評估或示範應用程式--它啟動得很快,因為它不帶有調試資訊。

  兩個版本都叫做epoc.exe,但是它們位於自己的子目錄中。Epoc這個名字是曆史遺留的--它是Symbian OS以前的作業系統的名稱。

  在正常的開發活動中,經常使用模擬器的調試形式。根據你選擇的IDE,你可以正常地使用調試版本或在"偵錯模式"中使用調試版本。能夠在兩種模式下運行同一個"調試模擬器"起初看起來有點混亂。

  有時候你可能希望啟動模擬器,定位應用程式並運行它,而這僅僅是為了測試的目的。如果出現了嚴重的錯誤,模擬器和應用程式將以受到約束的方式關閉。

  還有些時候你可能希望在自己認為存在問題的特殊地方(代碼中)設定斷點(breakpoint),接著讓IDE在"偵錯模式"下運行模擬器。接著你定位應用程式並運行它。與應用程式適當地互動操作將會遇到代碼中的斷點。在斷點上,原始碼將顯示在IDE中,並且同時顯示與應用程式相關的所有符號調試資訊。接著你可以在受控制的情形下,使用IDE的調試特性一步一步地調試代碼片斷。你可以查看IDE顯示的應用程式原始碼、資料、呼叫堆疊和其它與調試相關的資訊,協助自己跟蹤到代碼或邏輯中的錯誤。


圖1-3. Series 60平台1.2調試模擬器的應用程式表格和列表視圖


圖1-4.微軟Visual C++ IDE下處於偵錯模式的HelloWorld應用程式

  模擬器可執行檔位置

  Series 60 1.2 SDK發布版模擬器典型情況下位於下面的位置:

  對於Visual C++

Symbian.1Series60Epoc32Releasewinsurelepoc.exe

  對於Borland C++

Symbian.1Series60Epoc32Releasewinsburelepoc.exe

  對於CodeWarrior

Symbian.1Series60Epoc32Releasewinscwurelepoc.exe

  調試版模擬器典型情況下位於:

  對於Visual C++

Symbian.1Series60Epoc32Releasewinsudebepoc.exe

  對於Borland C++

Symbian.1Series60Epoc32Releasewinsbudebepoc.exe

  對於CodeWarrior

Symbian.1Series60Epoc32Releasewinscwudebepoc.exe

  精確的路徑依賴於你在安裝SDK的時候選擇的選項。在Series 60 2.x SDK中模擬器的路徑將非常類似--例如SymbianSeries602_0Epoc32releasewinsudebepoc.exe。

  圖1-3顯示了Series 60 1.2模擬器。它啟動時顯示應用程式主菜單為表格視圖或列表視圖。

  Series 60 2.0模擬器啟動的外形類似電話應用程式,你必須通過按1-3所示的應用程式按鈕導航到應用程式菜單。無論使用哪種版本的Series 60平台,一般把模擬器可執行檔的調試(udeb)版本作為開發項目的預設選項--例如Epoc32Releasewinsudebepoc.exe。

  模擬器偵錯模式

  在模擬器的偵錯模式下運行應用程式的時候,原始碼、函數呼叫堆疊、變數資訊等在遇到代碼斷點的時候會立即顯示出來,1-4所示。如果應用程式代碼沒有處在需要使用者輸入的位置,模擬器視窗本身可能消失了(它被最小化了)。

  從命令提示字元運行模擬器

  如果需要從命令列運行調試模擬器,只需要開啟命令提示字元,把當前路徑改變到epoc.exe應用程式所在的Series 60 SDK檔案夾(例如Symbian.1Series60Epoc32Releasewinsudeb)並輸入下面的內容:

epoc

  上面的命令將啟動調試模擬器,接著你可以定位並運行自己的應用程式了,但是它並非處於偵錯模式之中。要使被調試的應用程式運行在模擬器的偵錯模式之下只能從IDE內部完成。如果要運行發布版模擬器,需要輸入:

epoc -rel

  在Visual C++ IDE中運行模擬器

  在Visual C++ IDE中你按下Ctrl+F5或從菜單中選擇Build|Execute Epoc.exe就可以啟動模擬器的調試版本。這樣將使模擬器處於非偵錯模式。作為代替,按下F5或從菜單中選擇Build|Start Debug|Go將使模擬器處於偵錯模式。

  當你第一次運行某個Visual C++項目的模擬器的時候,會出現一個對話方塊向你詢問可執行檔的名稱。請導航到SDK的根目錄的Epoc32Releasewinsudeb檔案夾的epoc.exe檔案。

  在Borland C++Builder 6和C++BuilderX IDE中運行模擬器

  你可以使用Tools|Mobile Build Tools菜單選項,選擇Run Emulator來啟動模擬器的調試版本。或者使用Run|Run菜單選項(F9),但是它會引起項目每次都重建立立--而這花費的時間可能很長。使用這個選項的時候,你可能需要在模擬器啟動之前終止建立對話方塊("Compiling")。

  如果你在C++BuilderX中運行模擬器,使用Run|Debug Project菜單選項或按下Shift+F9。如果你希望重建立立項目並啟動模擬器,選擇Run|Run Project或按下F9。

  在CodeWarrior IDE中運行模擬器

  選擇Project|Run菜單選項或按下Ctrl+F5運行模擬器。按下F5或使用Project|Debug菜單選項使模擬器運行在偵錯模式。
定位和運行應用程式

  通過點擊模擬器的招牌位元影像上的游標鍵的圖片,或者使用PC鍵盤游標(箭頭)鍵導航並選擇HelloWorld應用程式。點擊"Selection"按鈕(在游標修飾鍵的中間)啟動應用程式。

  注意

  沒有特定表徵圖的應用程式(在.aif檔案中指定)將會被賦予一個預設的表徵圖,它看起來像一片鋸齒狀拼盤。

  在某些SDK/IDE(例如Borland和CodeWarrior的一些版本)中,你建立的應用程式可能位於"Other"檔案夾下,而不在主案頭上。如果出現這種情況,請導航並選擇Other檔案夾,接著通過點擊"Selection"按鈕開啟它。導航並選擇HelloWorld應用程式並點擊"Selection"按鈕調用該應用程式。


圖1-5."HelloWorld"應用程式

  調試應用程式

  作為代替,你可以在IDE中使模擬器上啟動並執行應用程式處於偵錯模式--這個過程驗證依賴於使用的IDE。典型情況下,你需要首先在原始碼的適當位置設定斷點。

  啟動處於偵錯模式的模擬器。由於要調試的是應用程式(本質上是動態連結程式庫DLL),而不是模擬器本身,你需要導航並運行應用程式。該應用程式將會啟動,碰到你設定的斷點的時候執行會停止。接著你可以使用自己選擇的IDE工具逐步執行應用程式的原始碼。

  更多的IDE協助

  本文沒有不同IDE功能的更多介紹,因此如果你要查詢更多的IDE協助資訊,可以通過Help菜單選項進行。

  對於微軟Visual C++,你可以選擇Help|Contents菜單選項,它在與IDE一起安裝的MSDN中提供。

  對於Borland C++Builder 6,你可以使用Help菜單選項。你會發現除了標準的Borland協助檔案之外還有一個獨立的Help|Borland C++ Mobile Edition Help頁面。對於C++BuilderX,你可以選擇Help|Help Topics,然後選擇Mobile Development。

  對於Metrowerks CodeWarrior,有一個Help|Online Manuals菜單選項,它包含了使用Symbian OS時大量的有價值的資訊。

  還有更多的特定IDE資訊可以線上獲得--例如到http://msdn.microsoft.com/連結尋找Visual C++資訊,到http://bdn.borland.com/連結尋找Borland C++資訊,到http://www.metro-werks.com/MW/Develop/Wireless/連結尋找CodeWarrior資訊。C++ SDK+Symbian開發入門之部署開發人員線上 Builder.com.cn 更新時間:2007-12-28作者:陶剛編譯 來源:天極網本文關鍵詞: c++ SDK Symbian 部署 傳遞到目標硬體上的應用程式的形式為Symbian安裝系統(.sis)檔案。.sis檔案是一個壓縮的封存檔案,它包含了安裝所需要的所有檔案,還包括了安裝過程的選項資訊。Symbian安裝系統為把應用程式、資料或配置資訊安裝到基於Symbian作業系統的裝置上提供了簡單的和一致的使用者介面。開發人員(或終端使用者)安裝的組件都包含在.sis檔案中。

  我們可以使用Series 60 SDK提供的互動式工具sisar來執行.sis檔案的產生工作。為了容易在目標硬體上安裝應用程式,sisar把所有的應用程式檔案打包到一個.sis檔案中。

  製作安裝(.sis)檔案所有需要的資訊都在樣本項目HelloWorld中提供了--它們位於install folder下。在樣本項目中我們使用了一個專用的安裝封裝來源檔案(HelloWorld.pkg)和Symbian提供的一個工具makesis.exe。

  建立SIS安裝檔案

  在你建立了HelloWorld應用程式的armi發布版之後,你需要把所有的應用程式組件打包到一個安裝程式包(.sis)檔案之中。開啟命令提示字元並導航到HelloWorld項目的SDK檔案夾。切換到install folder,接著輸入下面內容建立.sis檔案:

makesis helloworld.pkg

  成功的建立將會輸出類似"Created helloworld.sis"的訊息。安裝程式包(.sis)檔案將建立在install folder下面。現在你必須它把傳輸到裝置上。

  SIS檔案的安裝

  你可以在三種潛在的安裝選項中作出選擇,這依賴於你使用的裝置和其它可以使用的工具--例如,你是否能夠通過紅外線或藍牙裝置訪問PC,或訪問基於Symbian Connect(Nokia PC Suite,或其它裝置廠商提供的這類東西)的一些軟體:

  · 安裝通過調用PC上的.sis檔案進行,後續的Series 60裝置的應用程式安裝過程通過PC與目標裝置之間的紅外線或藍芽對話,由軟體(例如Symbian Connect)建立串連來完成。

  · 安裝通過OBEX(OBject EXchange),經由紅外線或藍芽,從任何裝置(例如PC、Symbian OS電話或其它任何可以使用OBEX的裝置)把.sis檔案傳輸過去。這個過程可以由Messaging應用程式來管理,它可以截取附加在訊息上的檔案--當你開啟訊息的時候,它會在電話上自動啟動應用程式安裝過程。

  · 作為選擇,.sis檔案可以作為電子郵件附件發送。應用程式安裝也是通過電話上的Messaging應用程式管理的。當你開啟訊息的時候,它自動地啟動安裝程式。

  前面兩種方法依賴於你在開發項目的PC和Series 60裝置之間建立串連。典型情況下裝置廠商提供了適當的通訊軟體,你必須參考串連軟體提供的特定指令。

  在安裝之後,.sis檔案大幅度簡化的版本依然保留在Series 60裝置上用於控制應用程式的卸載,如果需要,請使用應用程式"Manager(管理器)"。這個簡化的.sis檔案僅僅包含卸載應用程式所需要的資訊,典型情況下比原始檔案小很多。

  如果.sis檔案作為訊息附件傳遞,而且原始訊息沒有從Messaging應用程式的Inbox檔案夾中刪除,那麼原始的.sis檔案也可能存在於裝置上。

  在目標裝置上運行

  把helloworld.sis檔案使用上述的方法之一傳輸到目標硬體上。在傳輸之後,你就可以在裝置上安裝應用程式了。運行應用程式按照"定位和運行應用程式"一節列舉的進行。你會確信目標裝置上定位和啟動並執行應用程式於模擬器上的是一樣的--只有一個小小的差別:應用程式不會位於"Other"檔案夾中。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.