Symbian 命令列編譯器

來源:互聯網
上載者:User

第一篇:  ////////=========================//

 

1.1 安裝SDK
第一步,到Nokia論壇註冊,下載最新的SDK。Nokia 網站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。下載網址:http://www.forum.nokia.com/main/0,6566,034-4,00.html

註:Series 60 SDK v1.2有一個bug,模擬器不能正常使用,解決方案見本文尾部。

第二步,到http://www.activestate.com 網站下載最新的Active Perl Script 安裝程式。到http://www.java.com/en/download/manual.jsp 下載最新的J2RE。

第三步:安裝SDK,推薦為Symbian開發單獨建一個目錄,例如d:/Symbian而不是使用C:/program files等這樣的目錄。

第四步:安裝Active Perl和J2RE,安裝到預設目錄即可。

第五步:(1.2 不用配置環境變數)檢查環境變數設定。開啟系統內容變數tab,然後看看有沒有EPOCROOT,如果有的話,把它手動改成“/” 。改完之後應該是這個樣子的:

EPOCROOT = /Symbian/7.0s/Series60_v21_C/

然後,在系統PATH中加入

/epoc32/gcc/bin

以及 D:/Symbian/7.0s/Series60_v21_C/Epoc32/tools(注如果為/Epoc32/tools建立項目後VC會提示無法將指定的工程添加到項目中

實際上,Symbian SDK根本不用安裝,直接把epoc32目錄拷貝到一個機器上,然後照上述方法設定目錄和環境變數就可以了。

1.2 配置VC (注意項目要建立在SDk所在分區的根目錄下
如果我們使用的是VC 6.0,我們要保證系統至少打了SP3補丁,否則系統會有警告提示。如果我們使用的是VS.NET2003, 我們就只能安裝Series 60 SDK for Symbian OS v2.1,因為Series 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003無法正確建立工程。

如果要直接在vc6裡建立新項目,要把/Symbian/6.1/Series60/Series60Tools/ Application Wizard目錄下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP檔案拷貝到vc6的模板目錄C:/Program Files/ Microsoft Visual Studio/ Common/ MSDev98/ Template下。這樣我們就可以在VC的建立工程中看到Series 60 AppWizard v 1.9這個選項.

填入Project Name 以後,確認。

一路“Next”,一個最簡單的Symbian應用程式就建立好了。

如果要將已經建立好的工程匯入到VC6.0中,可以直接編譯,否則用命令提示字元模式進入項目的group目錄下,然後執行:

bldmake bldfiles

這個命令會在group目錄下產生一個abld.bat的批次檔,並且會在/Symbian /6.1/Series60/Epoc32/BUILD下產生/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP這個目錄,並在最底層目錄下產生一堆 .make檔案。

然後,我們在同一個目錄運行剛才產生的abld.bat:

abld makefile vc6

這樣就會自動產生vc6的dsw檔案,位置在/Symbian/6.1/Series60/Epoc32/BUILD/ SYMBIAN/6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP/HELLOWORLD/WINS。然後我們就可以在VC6種開啟這個Symbian工程了。

2 編譯
我們可以直接使用SDK提供的工具編譯Symbian 工程,也可以使用VC6提供的Integration Environment來編譯轉化過的Symbian 工程。編譯的結果存放在/Symbian/6.1/Series60/Epoc32/ Release/wins/UDEB/Z/SYSTEM/apps目錄中。

2.1使用SDK提供的工具編譯Symbian 工程
我們在上一節的那個位置繼續輸入:

abld build wins udeb

這個命令會編譯我們的程式,最後在/Symbian/6.1/Series60/Epoc32/Release/wins/UDEB目錄下產生我們的helloworld,然後我們可以從開始菜單裡運行模擬器的debug版,在類比其中就可以運行helloworld了。

2.2 使用VC6編譯Symbian 工程
我們直接開啟運行abld makefile vc6後產生的dsw檔案,VC自動裝載轉化過的工程。按F7便可以直接編譯工程,編譯結果同樣放在/Symbian/6.1/Series60/Epoc32/Release/ wins/UDEB目錄中。然後我們開啟模擬器debug 版,就可以看到我們編譯好的工程了。

3 打包
我們以SDK 1.2提供的HelloWorld為例,製作可以在手機中安裝的.SIS檔案:

3.1.檢查程式
首先,在命令列格式下,進入HelloWorld工程mmp檔案所在目錄,輸入bldmake bldfiles和abld build wins udeb,然後開啟模擬器,檢測程式有無錯誤。

3.2.編譯工程
在程式無錯誤後,在命令列輸入abld build armi urel 。執行這個命令之後會在目錄d:/symbian/6.1/series60/epoc32/release/armi/urel產生HELLOWORLD.APP和HELLOWORLD.RSC兩個檔案。

3.3.建立.pkg檔案

      註:用VC嚮導建立的項目時,在項目目錄下有命名為sis(install)的檔案夾下已經建立好了pkg檔案,只需要對安裝檔案及其路徑進行修改即可。另外手動產生PKG檔案時注意平台和app的UID
在d:/Symbian/6.1/Series60/Series60Ex/helloworld/sis 用記事本建立或者修改工程的pkg檔案,內容如下:

; HelloWorld.pkg

;

;Language - standard language definitions

&EN

; standard SIS file header

#{"HelloWorld"},(0x10005B91),1,0,0

;Supports Series 60 v 1.2

(0x101F8202), 0, 0, 0, {"Series60ProductID"}

;

"d:/symbian/6.1/series60/epoc32/release/armi/urel/HelloWorld.APP"-"!:/system/apps/HelloWorld/HelloWorld.app"

"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"-"!:/system/apps/HelloWorld/HELLOWORLD.rSC"

其中,前面"d:/symbian/6.1/series60/epoc32/release/armi/urel/HELLOWORLD.rSC"是要打包安裝的檔案,"!:/system/apps/HelloWorld/HELLOWORLD.rSC"是安裝的目標位置。在其中要注意的是,我們在目標位置中用“!”代替了實際的盤符。這樣做得好處是在使用者安裝的時候,手機系統會提示使用者選擇要安裝的位置,這就給了使用者更大的靈活度。另外,在Symbian 系統中,安裝的應用程式預設位置是“!:/system/apps ”。

編輯好pkg檔案後,儲存至相應目錄。

3.4.打包程式
在命令列中,轉至pkg檔案所在目錄,運行命令makesis HelloWorld.pkg

註:1.2版Series 60 SDK後,如果沒有安裝在C盤,運行模擬器後會一直顯示series60,其實這是1.2版SDK安裝的bug.

解決辦法:
      如果的確是安裝在其他邏輯磁碟機的話,可以通過修改模擬器的配置解決問題。
開啟 /Symbian/6.1/Series60/Epoc32/Data/epoc.ini
這是一個文字檔,可以用Note開啟,一般情況下,該檔案中會含有形如:_EPOC_DRIVE_X path的設定。這是指定模擬器可以訪問的邏輯磁碟機的盤符X:並且將它指向path描述的目錄。模擬器啟動時需要確知2個邏輯磁碟機,rom Z盤和虛擬磁碟機D盤。Z盤是自動分配的,D盤需要在上述設定檔中聲明。請你檢查一下_EPOC_DRIVE_D 後面的路徑並把它改成X:/symbian/6.1/series60/epoc32/wins/d X是你安裝SDK的磁碟機(當然如果不把SDK安裝在根目錄的話,就寫全路徑)。重新啟動模擬器試試?

      其他版本安裝好後都配置完好了,不需要修改。

 

 

 

第二篇:  ////////=========================//

 

作業系統:Windows2000 sp41.安裝Micorsoft Visual c++6.0 sp62.ActivePerl      執行指令檔環境,我用的版本為ActivePerl-5.8.0.806-MSWin32-x86.msi;:http://count.skycn.com/softdown.php?id=1211&url=http://cbbnhttp.skycn.net/down/ActivePerl-5.8.0.806-MSWin32-x86.msi 3.j2re         安裝JAVA運行庫(Java 2 Runtime Environment,j2re):

http://www.hongkongpost.gov.hk/product/download/ecert_software/img/j2re-1_3_1_01-win-i.exe 4.安裝ns60_sdk_v1.2版本:
http://www.forum.nokia.com/main/resources/tools_and_sdks/listings/symbian_cpp_tools.html軟體安裝時必需按照這個順序來安裝才可能不會出問題。(當然不按順序也可以,不過卸載了再重裝可不要罵我)(1)先安裝VC++6.0,最好打上SP6的補丁。(2) 安裝ActivePerl。在安裝這個軟體時必須注意的是:不要啟用PRM新功能,然後在下一步中,選項Add Perl to the PATH environment variable和Create Perl file extension association這兩個必須打上勾。等待安裝完畢就可以了。(3)安裝j2sdk.注意勾選上Microsoft Internet Explorer複選框。(4)安裝Series60SDK.最後當都安裝完畢後,開始配置VC環境。/1) E:/symbian/7.0s/Series60_v20/Series60Tools/applicationwizard目錄下的 avkonappwiz_v20.awx和avkonappwiz_v20.hlp兩個檔案拷到VC6.0的目錄下/Microsoft Visual Studio/Common/MSDev98/Template下。在建立工程時就可以看到Series 60 AppWizard v2.0選項了。2) 然後安裝工具條Epoctoolbar.將E:/symbian/7.0s/Series60_v20/Series60Tools/ epoctoolbar目錄下的epoctools.dll檔案拷到/Microsoft Visual Studio/Common/MSDev98/Addins目錄下即可。開啟VC++6.0,點擊菜單Tools-Customize(工具->定製->附加項和宏檔案),勾選EPOC Toolbar Add-in.3)系統內容變數的設定EPOCROOT: /Symbian/6.1/Series60/有的朋友說這裡應該改成”/”,反正自己沒有成功。Path:添加vc 環境變數:C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin; C:/Program Files/Microsoft Visual Studio/VC98/bin;兩個,就可以了添加epoc32環境變數:C:/Symbian/6.1/Shared/epoc32/gcc/bin;C:/Symbian/6.1/Shared/epoc32/tools;下面是完整的環境變數,其中perl是安裝時自動添加的。C:/Program Files/Microsoft Visual Studio/Common/Tools/WinNT;C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin;C:/Program Files/Microsoft Visual Studio/Common/Tools;C:/Program Files/Microsoft Visual Studio/VC98/bin;C:/Perl/bin;C:/Symbian/6.1/Shared/epoc32/gcc/bin;C:/Symbian/6.1/Shared/epoc32/tools;%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;c:/winnt/system32/至此配置環境全部完成。然後就可以開始建立工程運行了。第一個symbian程式:1 通過IDE 環境調用模擬器,我們這裡的IDE 就是Microsoft Visual c++6.0 sp6建立空白工程,一路next點下去,就可以建立出新的工程,編譯通過會提示模擬器路徑,通過瀏覽找到C:/Symbian/6.1/Series60/Epoc32/Release/wins/udeb/cepoc.exe,就可以了。要注意的一點是,工程檔案和sdk檔案必須在一個盤符,否則是無法建立成功的。2 建立helloworld工程檔案,從vc++6.0中開啟我們將SDK中的例子HelloWorld轉換成一個VC6的項目,首先進入/Symbian/6.1/Series60/Series60Ex/HelloWorld/group目錄,用命令提示字元模式進入這個目錄下,然後執行:bldmake bldfiles這 個命令會在group目錄下產生一個abld.bat的批次檔,並且會在/Symbian /6.1/Series60/Epoc32/BUILD下產生/Symbian/6.1/Series60/Epoc32/BUILD/SYMBIAN /6.1/ SERIES60/SERIES60EX/HELLOWORLD/GROUP這個目錄,並在最底層目錄下產生一堆 .make檔案。然後同樣在/Symbian/6.1/Series60/Series60Ex/HelloWorld/group目錄下,執行makmake HelloWorld.mmp vc6 就可以產生dsw工程檔案,其中vc6選項表示轉換為vc6的工程檔案。我們用vc開啟這個dsw檔案,編譯運行,可以得到helloworld程式。如 果在這個命令遇到了一些問題,如系統提示找不到link.exe檔案,可以在VC6的安裝目錄下搜尋這個檔案,然後在系統的環境變數PATH中加入了 link.exe所在的目錄。系統提示找不到MSPDB60.DLL檔案,link.exe無法運行。同樣搜尋mspdb60.dll,然後將這個檔案拷 貝到了link.exe所在的目錄,這樣,我們第一個helloworld程式導如成功,仔細研究下程式模式,就會找到vc++開發symbian程式感覺。接下來的事情就堅持了。好了寫到這裡可以了。

聯繫我們

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