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