關(guān)于VS2003命令的進(jìn)行研究與探討
VS2003命令是一個(gè)環(huán)境的文件,可以使用各種工具來處理并生成各種目標(biāo)環(huán)境的make文件。您可以使用文本編輯器查看該文件。VS2003命令里面的信息還是很簡(jiǎn)明的,包括構(gòu)建目標(biāo),構(gòu)建類型,源路徑,庫(kù)文件,頭文件等等信息。
需要說明的是,對(duì)于學(xué)習(xí)Symbian開發(fā),需要有較為牢固的編程經(jīng)驗(yàn)(這里我們暫時(shí)要求具有較好的C++程序語言設(shè)計(jì)能力),需要較好的英語基礎(chǔ),需要堅(jiān)持不懈的精神;另外,
如果你重來沒有接觸過VS2003,不懂DOS命令、不懂如何設(shè)置環(huán)境變量,請(qǐng)先學(xué)習(xí)相關(guān)知識(shí)。另外,本文的作用僅僅是總結(jié)和引導(dǎo),強(qiáng)烈建議初學(xué)者結(jié)合本文和SDK文檔動(dòng)手實(shí)踐。
本文主要針對(duì)S60的開發(fā)環(huán)境的建立,因此首先為大家列出S60系統(tǒng)的各種版本。因?yàn)殚_發(fā)者應(yīng)該根據(jù)需要,選擇自己適合的SDK版本。
1、Series60第一版-SymbianOS6.1
2、Series60第二版-SymbianOS7.0s
3、Series60第二版Pack1-SymbianOS7.0s
4、Series60第二版Pack2-SymbianOS8.0a
5、Series60第二版Pack3-SymbianOS8.1a
6、Series60第三版-SymbianOS9.0
需要要說明的是,Nokia的Symbian/Series60開發(fā)包支持的集成開發(fā)環(huán)境[IDE]工具有很多種,下面列出主要使用的一些IDE:
1、MicrosoftVisualStudio6/VisaulC++6
2、MicrosoftVisualStudio.NET[2003]/VisaulC++7
3、BorlandC++Builder6
4、BorlandC++BuilderX1.0
5、MetrowerksCodeWarriorStudioforSymbianPersonal/Professional2.0/2.5
選擇哪種開發(fā)工具依據(jù)是你個(gè)人的習(xí)慣和喜好,需要注意的是,對(duì)于不同的開發(fā)環(huán)境,我們需要選擇不同SDK。本文所使用的SDK支持Series60第二版Pack2-SymbianOS8.0a,IDE為VS2003:
若你使用的IDE是VC6,那么步驟與本文將有所不同,你可以參考網(wǎng)上其他教程,網(wǎng)上講授Symbian環(huán)境設(shè)置的90%以上的文章都是基于VC6的。若你使用VS2003,但是所使用的SDK與本文使用的有所出入,那么本文仍然適用,不過個(gè)別地方也許會(huì)有改動(dòng)。有什么問題可以提出來,大家一起討論。
本文并未講述安裝NokiaDeveloperSuite-Carbide.vs來配合VS2003導(dǎo)入、建立S60工程。這部分內(nèi)容將在下一篇文章講解如何建立、導(dǎo)入工程的時(shí)候詳細(xì)講解。因此你可以暫時(shí)不安裝該軟件。等你按照下面的說明將環(huán)境設(shè)置好以后,再安裝此軟件做更深一步研究。涉及此項(xiàng)內(nèi)容的細(xì)節(jié),請(qǐng)參閱:SymbianOS開發(fā)入門(二):VS2003環(huán)境下Symbian工程的導(dǎo)入與建立。
我個(gè)人原來是使用VC6作為IDE,對(duì)VS2003下的開發(fā)也不是特別熟悉,我是一個(gè)Symbian開發(fā)的初學(xué)者,這里寫的東西是大多數(shù)基于SDK的開發(fā)文檔,結(jié)合自己測(cè)試的時(shí)候的一些經(jīng)驗(yàn)教訓(xùn)。寫出來,一方面象引導(dǎo)象我一樣的初學(xué)者盡快入門,另外一方面大家也可以在此基礎(chǔ)上討論,解決一些經(jīng)驗(yàn)錯(cuò)誤。幫助后來者少走彎路。
【開發(fā)環(huán)境建立詳細(xì)步驟】
一、系統(tǒng)要求
文檔中寫了一些對(duì)你PC的要求,反正就是保證你的電腦能運(yùn)行VS2003和SDK。一般沒有什么問題。系統(tǒng)要求Win2000SP3以上,WinXPSP1以上,Win2003中任意一種。
二、軟件安裝
說明:在安裝SDK以前保證下列1-3項(xiàng)先被正確安裝。安裝軟件的時(shí)候必須保證你所使用的帳號(hào)是你PC的管理員帳號(hào),否則可能導(dǎo)致某些環(huán)境變量不能被正確設(shè)置。SDK和IDE要安裝在電腦上的同一個(gè)分區(qū)。SDK的安裝路徑不能含有空格。下面詳細(xì)說明需要安裝的軟件及其步驟:
1、在安裝SDk之前必須安裝ActivePerl(官方文檔要求安裝Perl5.6.1build531,并說明安裝其他版本可能會(huì)有問題,我自己測(cè)試使用ActivePerl-5.6.1.638-MSWin32-x86,運(yùn)行情況良好)。該軟件可以到官方網(wǎng)站下載:http://www.activestate.com/Products/ActivePerl/
2、安裝JAVARun-Time1.4.1_02或者新版本,下載地址http://java.sun.com/downloads/index.html.
說明:在使用命令行編譯程序的時(shí)候事實(shí)上是不需要用到JAVARun-Time1的。但是以后我會(huì)提到,若要使用SDK的一個(gè)強(qiáng)大的工具ApplicationWizard,就必須安裝該組件,同時(shí)若要使用Sisar等工具的話,JRE也必不可少。這里請(qǐng)你就先安裝吧。
3、安裝IDE,如前所述,安裝MicrosoftVisualStudio.NET2003
4、安裝SDK,注意前面所說的SDK的安裝路徑不能含有空格。并且要和IDE裝在同一個(gè)分區(qū),這樣可以避免一些麻煩。下載地址:http://www.forum.nokia.com/main/0,6566,034-4,00.html
5、安裝NokiaDeveloperSuite-Carbide.vs。這相當(dāng)于VS2003的一個(gè)插件,用于幫助你導(dǎo)入或者建立S60工程,從而似的你可以在VS2003中編寫代碼。(本文暫時(shí)不講解怎么使用,你可以先安裝,也可以以后用的時(shí)候再安裝)
下載地址:http://www.forum.nokia.com/main/0,,034-902,00.html
三、環(huán)境變量檢查
在2.0版本的SDK之前[不包括1.2ForCW],你需要在系統(tǒng)變環(huán)境量中設(shè)置一個(gè)名為EPOCROOT的環(huán)境變量,(什么是環(huán)境變量,如何設(shè)置,這個(gè)去自學(xué)),他要指向你的SDK包含有epoc32的路徑,前面沒有盤符,后面要加一個(gè)"\",這個(gè)一般在你安裝了SDK之后系統(tǒng)會(huì)自動(dòng)替你加好。
不過2.0之后的[包括1.2ForCW]就不必設(shè)置了,有一個(gè)名為devices的SDK管理工具會(huì)為一些需要使用這個(gè)變量的工具提供類似模擬EPOCROOT環(huán)境變量的功能。
可以把devices看作是多個(gè)SymbianSDK,不限于S60,得切換工具,他的使用方法可以在你安裝了2.0SDK之后,在命令行模式下輸入devices-help來獲得幫助。
我們使用的這個(gè)版本的SDK不需要設(shè)置太多環(huán)境變量,這里只需要自己加入修改一下環(huán)境變量,在系統(tǒng)環(huán)境變量path中加入。#t#
四、編譯運(yùn)行“Helloworld”-檢查開發(fā)環(huán)境是否被正確設(shè)置
上面的安裝步驟完成以后,還沒有大功告成,這時(shí)你需要做的是檢查你的環(huán)境是否被正確設(shè)置。怎樣來確認(rèn)開發(fā)環(huán)境已經(jīng)正確建立了呢?最好的方式就是通過編譯、運(yùn)行一個(gè)例子來檢驗(yàn)。需要指出的一點(diǎn)是,下面的步驟可以在可以在Windows的命令行工具中操作,也可以在VS2003自帶的工具“VisualStudio.NET2003命令提示”中操作。在VS2003的命令行工具中操作,其優(yōu)點(diǎn)是可以避免某些環(huán)境變量設(shè)置有誤而導(dǎo)致的錯(cuò)誤,因?yàn)樗坏到y(tǒng)環(huán)境下PATH變量的內(nèi)容,同時(shí)也包含安裝VC++.NET過程中,添加的一些路徑,包括主要的編譯鏈接等工具。而缺點(diǎn)就是:若你僅僅在這里通過驗(yàn)證,而在WINDOWS自帶的命令行界面沒有通過的話,那么后期會(huì)遇到一些麻煩(例如使用ApplicationWizard建立工程)。
所以,如果不使用VC++.NET帶的“命令提示”工具,您也許就會(huì)因?yàn)檎也坏较鄳?yīng)編譯工具,而無法繼續(xù)下去。如果自己勤快一些,可以手動(dòng)把環(huán)境變量加到系統(tǒng)PATH中去,這樣就可以用Windows“附件”菜單中的那個(gè)“命令提示”工具了,后面也許會(huì)順利一點(diǎn)。
1、打開Windows的命令行界面(或者VC++.NET自帶的命令行工具)
2、將剛剛安裝的SDK設(shè)置為默認(rèn)的devices.這個(gè)可以通過下面的命令設(shè)置:
devices-setdefault@S60_2nd_FP2_SC:com.nokia.Series60
事實(shí)上SDK的安裝過程中就會(huì)提示你設(shè)置默認(rèn)的devices。做這個(gè)工作的原因是你的系統(tǒng)中很可能安裝了多個(gè)SDK,那么使用哪個(gè)SDK作為當(dāng)前的開發(fā)工具,就需要正確設(shè)置。你可以使用命令行devices-default來查看當(dāng)前的默認(rèn)SDK是什么。
3、找到Symbian工程文件所在的目錄
現(xiàn)在我們就通過SDK中自帶的例子來驗(yàn)證你的環(huán)境是不是被正確設(shè)置。注意安裝了SDK以后,在其安裝目錄中的Series60Ex文件夾中有很多例子,我們使用helloworldbasic來驗(yàn)證。在命令行界面中用cd命令進(jìn)入helloworldbasic的group目錄:
cd
在group目錄下應(yīng)該包含bld.inf和helloworldbasic.mmp這兩個(gè)文件。這兩個(gè)文件的簡(jiǎn)要描述如下:
HelloWorld.mmp:項(xiàng)目定義文件,描述了將要構(gòu)建的項(xiàng)目信息,還定義了一些資源文件和應(yīng)用程序信息文件
Bld.inf:組件描述文件,它列出了一個(gè)組件當(dāng)中包括的所有項(xiàng)目,還包括一些額外的構(gòu)建指令。您也可以使用文本編輯器查看該文件。對(duì)于本實(shí)例來說,僅包括一個(gè)項(xiàng)目HelloWorld.mmp。
4、在VS2003命令行中輸入bldmakebldfiles
這個(gè)命令會(huì)處理當(dāng)前目錄下的bld.inf文件,具體來說會(huì)執(zhí)行以下處理過程
(1)、生成目錄C:\Symbian\8.0a\S60_2nd_FP2_SC\epoc32\BUILD\SYMBIAN\8.0A\S60_2ND_FP2_SC\SERIES60EX\HELLOWORLDBASIC
(2)、在這個(gè)目錄下,生成一系列的Make文件,針對(duì)各種目標(biāo)環(huán)境。比如VC7.MAKE,CW_IDE.MAKE等等。
(3)、在當(dāng)前目錄下生成abld.bat文件,這個(gè)文件會(huì)在隨后用到。您可以查看該文件的內(nèi)容。但是建議不要手工的更改它的內(nèi)容。
Bldmake命令也支持其他的命令行選項(xiàng),您可以直接輸入bldmake來查看簡(jiǎn)要的介紹,還可以查看SDK文檔了解詳細(xì)信息。
5、在VS2003命令行中輸入abldbuildwins
由bldmake處理bld.inf文件得到的abld.bat文件,使得abld命令可用。Abld.bat控制著構(gòu)建一個(gè)項(xiàng)目的方方面面。Abld命令的語法非常地靈活,它擁有許多命令行選項(xiàng),它們的組合涵蓋了各種構(gòu)建需求。
注意:這里如果你被提示缺少了一個(gè)文件mspdb71.dll,那么可以通過如下方法解決:在MicrosoftVisualStudio.NET2003的安裝目錄下。你可以在\Common7\IDE這個(gè)目錄下找到這個(gè)文件。把他拷貝到\Vc7\bin下就可以了。再次提醒前面的環(huán)境變量要設(shè)置好,否則這里你還會(huì)因?yàn)槿鄙賚ink.exe而中止運(yùn)行。
6、在VS2003命令行中輸入:epoc
這時(shí)模擬器就會(huì)出現(xiàn)。如果你的環(huán)境都設(shè)置正確的話,那么模擬器中就會(huì)有你剛剛編譯的helloworld,它在模擬器上的名字是“HW”
五、檢查SDK和IDE是否兼容工作
1、重復(fù)上面的1-4
2、在命令行中輸入:makmakehelloworldbasicvc7,這時(shí)會(huì)在group文件夾下生成一些文件,其中包含VS2003的工程文件HELLOWORLDBASIC.sln
3、打開VS2003,選擇“打開解決方案(OpenSolution)”,打開HELLOWORLDBASIC.sln,然后進(jìn)行編譯、運(yùn)行,就會(huì)得到第四部分第6步中的效果。(運(yùn)行的時(shí)候可能需要選擇程序epoc.exe)