构建Symbian S60平台

网上也有很多关于VS.NET+Carbide.VS构建Symbian S60平台。借着这些资料,自己也配置了一下,我的安装顺序:
1、VS.NET 2003
2、S60_2ND_SDK_FP3
3、jre-1_5_0_09-windows-i586-p.exe
4、ActivePerl-5.6.1.638
5、Carbide.VS
电脑操作系统:Microsoft Windows2000 Professional SP4 中文版。
=======================================
2009年8月5日補充

事隔多年,因為某些事情的刺激,促使我又想回到Symbian開發上來。呵呵......這次我打算不用vs.net2005或者vs.net2003了,直接使用Nokia提供的Carbide c++2.0,一來也想復習一下C++,二來也可做一兩個小程序在自己的N70上面跑跑,自我陶醉一下。下面將我這次安裝順序記錄一下,也算是一個小筆記吧。
第一步:去各相關網站下載ActivePerl-5.6.1.635-MSWin32-x86.msi、Carbide.c++_v2.0.exe、jre-6u4-windows-i586-p.exe、s60_2nd_sdk_fp3這四個玩意。
需要說明的是
1、最好去http://downloads.activestate.com/ActivePerl/Windows/5.6/下載ActivePerl-5.6.1.635,而且安裝完Carbide c++之後也提示你安裝這個,說其它的不支持,至於為什麼,我也是剛學,沒弄明白,有明白的朋友可否回復告知一下。
2、那個jre的可裝可不裝,我也是剛學,不管他,網上有人說要裝,我就全裝上去了。
3、去http://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html下載安裝sdk,我的是nokia70的機器,自然我就下載的是s60_2nd_sdk_fp3了。
4、去http://www.forum.nokia.com/info/sw.nokia.com/id/dbb8841d-832c-43a6-be13-f78119a2b4cb.html下載安裝Carbide c++時選擇professional editor.
5、安裝順序就按我上面的1234來吧,不過好象隨便順序也沒有錯似的。
第二步:其實基本上也不需要這一步了,上面安裝完之後,如果你用Carbide c++打開或者導入一些專案也可以跑起來。不過,聽網上高人講,最好下面這步做一下,便於今後多個sdk開發時的轉變吧。具體我也不清楚,照做吧。新建一個BAT文件,輸入類似如下指令。別告訴我這些Windows下的Dos命令是幹什麼用的,你不清楚哦,如真不清楚,就自己百度或google一下。

@echo off
subst z: /d
subst z: D:\Nokia\8.1a\S60_2nd_FP3
然後再在環境變量中加入EPOCROOT,在path中加入\epoc32\tools; \epoc32\gcc\bin;就可以了。

在這裡,講一下我的兩個相同的小插曲,不管是在我的個人手提的vista ultimate sp1中文版機器上,還是我現在所處的公司電腦的windows xp sp2繁體中文版上,做完上面的虛擬驅動之後,運行epoc.exe,都沒有成功,然後我放棄,然後過一陣子之後,卻莫名的自己好了。這個真不知為什麼。不過,反正我上面也說過了,不做這一步也可以用工具完成編譯跑起來的,也希望路過的朋友能夠指出原因為謝。
第三步:自然是自己寫一個小程序來試試,這裡,不使用Carbide c++,直接使用notepad來寫,先別被嚇倒,總共也就三個文件。新建一個名為HelloText.cpp的文件,輸入內容:

 

ContractedBlock.gif ExpandedBlockStart.gif HelloText
 1# include <e32base.h>
 2# include <e32cons.h>
 3LOCAL_D CConsoleBase* gConsole;
 4
 5//實際主函數
 6void MainL()
 7ExpandedBlockStart.gifContractedBlock.gif{
 8    gConsole->Printf(_L("Hello,Text!\n"));
 9}

10
11//控制台裝置
12void ConsoleMainL()
13ExpandedBlockStart.gifContractedBlock.gif{    
14    //獲取控制台
15    gConsole=Console::NewL(_L("Hello Text"),TSize(KConsFullScreen,KConsFullScreen));
16    CleanupStack::PushL(gConsole);
17    
18    //調用函數
19    MainL();
20
21    //在終止前暫停
22    User::After(5000000);
23
24    //用控制台結束
25    CleanupStack::PopAndDestroy(gConsole);
26}

27
28GLDDEF_C TInt E32Main()
29ExpandedBlockStart.gifContractedBlock.gif{
30    __UHEAP_MARK;
31    CTrapCleanup* cleanupStack=CTrapCleanup::New();
32    TRAPD(error,ConsoleMainL());
33    __Assert_ALWAYS(!error,User::Panic(_L("SCMP"),error));
34    delete cleanupStack;
35    __UHEAP_MARKEND;
36    return 0;
37}
至於你問我怎麼一開始就用notepad來寫這些,那我告訴你,沒什麼的,上面這些我完全是按照書的內容重敲一遍的,新手嘛 ,自然是做的比較菜一點,有誰沒有對自己平生第一次寫出的程序不熱情的呢?
然後再建一個HelloText.mmp的文件,內容如下:

 1 TARGET          HelloText.exe
 2 TARGETTYPE      exe
 3 UID              0   0x13EAC705
 4
 5 USERINCLUDE     .
 6 SYSTEMINCLUDE   \epoc32\include
 7
 8 SOURCEPATH      .
 9 SOURCE          HelloText.cpp
10
11 LIBRARY         euser.lib
12
最後就是建一個bld.inf文件,內容如下:

PRJ_MMPFILES
HelloText.mmp
至於以上這兩個文件的內容的含義是什麼,我也是半知不是很解的,以後弄熟了再回來補充起來。
最後,cmd至剛才那三個文件的目錄下面去。依次輸入:
bldmake bldfiles(該命令將會產生一下abld.bat文件,並且會在Epoc32\BUILD下建立你的相關的文件夾的。)
abld build winscw udeb
然後至Epoc32\release\winscw\udeb下就可以看到剛剛生成的HelloText.exe文件了,雙擊他運行就OK了。

參考過的文檔及鏈接(包括那時候用2000時的,原先是在回復裡面,現將其包含進來。):
http://hi.baidu.com/listenprogram/blog/item/136dc638b157ab2496ddd812.html http://blog.163.com/tinghai_zsh/blog/static/82529943200882142859997/
http://blog.csdn.net/kesalin/archive/2009/07/09/4333689.aspx
http://www.sf.org.cn/Article/lumen/200907/21218.html
http://sf.org.cn/Article/lumen/200907/21218.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值