2.1 环境配置
我用的vc++6.0和s60_sdk_v1.1, 其它版本的设置也差不错,这里仅供参考。
1,下载安装Perl v5.003_07或更新版本
2, 运行subst z: d:symbian。这个命令将D盘下symbian文件夹模拟为Z盘
3, 下载安装sdk,直接都安装到Z盘。forum nokia提供S系列的下载
4, 安装完成后,检查系统环境变量。path 的值设为包含epoc32gccin;epoc32 ools;设成这样后项目都要放在在Z盘下编译
5, EPOCROOT 值设为 . 是根目录的意思。也就是说Epoc32文件夹在根目录下(我前面将skd安装在了Z盘根目录
6, 在z盘新建文件夹porject,以后的项目都放在这里
2.2 文本版本的Hello World
1, 项目定义文件
一般将针对两种环境生成程序:
- 仿真器(Emulator)
- 目标机器
每种类型的生成都需要不同的项目文件。为了简化,可以将所有需要的信息放到一个一般性的项目定义文件中。然后针对一种或多种可能的生成环境,使用提供的工具将该文件翻译成生成文件或项目文件。项目定义文件具有扩展名".mmp"(它代表"makmake project").与项目HelloWorld对应的这个文件内容如下:
// HelloWorld.mmp
TARGET HelloWorld.exe
TARGETtYPE exe
SOURCEPATH .
UID 0
SOURCE HelloWorld.cpp
USERINCLUDE .
SYSTEMINCLUDE epoc32include
LIBRARY euser.lib
2, 组件定义文件
Symbian OS生成工具还需要提交一个组件定义文件。这个文件的名字总是bld.inf,其中包含所有项目定义文件的列表,这些文件定义该组件。对HelloWorld来说,这个文件很简单:
// bld.inf
PRJ_MMPFILES
HelloWorld.mmp
3, 程序代码
// hellotext.cpp
#include
#include
LOCAL_D CConsoleBase* gConsole;
void MainL()
{
gConsole->Printf(_L("Hello Text"));
}
void ConsoleMainL()
{
gConsole = Console::NewL(_L("Hello Text"), TSize(KConsFullScreen, KConsFullScreen));
CleanupStack::PushL(gConsole);
MainL();
User::After(5000000);
CleanupStack::PopAndDestroy(gConsole);
}
GLDEF_C TInt E32Main()
{
__UHEAP_MARK;
CTrapCleanup* cleanupStack = CTrapCleanup::New();
TRAPD(error, ConsoleMainL());
__ASSERT_ALWAYS(!error, User::Panic(_L("SCMP"), error));
delete cleanupStack;
__UHEAP_MARKEND;
return 0;
}
4, 从命令行生成
4.1, 在HelloWorld文件夹下建立go.bat。内容只有一行 cmd,目的是直接cd到该目录
4.2, 输入bldmake bldfiles.bldmake不会提示任何信息,不过在HelloWorld文件夹下多了一个文件abld.bat,它用于驱动剩下的生成过程。还可以发现epoc32目录数下包含了一个新的目录epoc32uildprojecthelloworld,它包含许多生成的文件,均与生成工具支持的各种类型有关
4.3, 输入abld build wins udeb.关于abld工具详细的描述请参考Symbian OS sdk。
5, 运行
直接打开epoc32 eleasewinsudeb下helloworld.exe
Good luck!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126349/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10294527/viewspace-126349/