1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > symbian 搭建 carbide c++环境

symbian 搭建 carbide c++环境

时间:2021-06-15 05:38:05

相关推荐

symbian 搭建 carbide c++环境

/kesalin/archive//07/09/89615.html

目录:

一, 环境配置

二, 项目设置

三, 开发流程

四, 参考书籍

一,环境配置

1,开发工具下载

开发环境选用Jdk1.5 + ActivePerl-5.6 + S60_3rd + Carbide.C++.V2.0,请依次文件下载一下文件放到D:/SymbianTools目录下:

Jdk1.5 :

/javase/downloads/index_jdk5.jsp

ActivePerl-5.6.1.635-MSWin32-x86.msi :

下载地址:/ActivePerl/Windows/5.6/

S60 Platform SDKs for Symbian OS, for C++:

下载地址:http://www./info//id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html

选择:S60 3rd Edition, Feature Pack 1

Carbide.c++ 2.0

下载地址:http://www./Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/

2,开发工具安装

注意:请将以上3个工具安装到同一个磁盘下(比如C:/盘下),要不在后面可能会碰到奇怪的问题,并且工程代码也需要与开发工具放到同一个磁盘下才能运行,Nokia的开发工具还真够挑剔的,:)

先 安装Jdk1.5到 C:/apps/下,安装完成之后,再安装ActivePerl到C: /apps/下,安装完成之后,再安装S60_3rd SDK到C:/下,在安装S60 SDK的过程中会询问:没有安装CSL Arm Toolchain,要立即安装么?选择立即安装就可以了,之后可能还会弹出一个警告对话框,直接忽略就可以了,不会有什么影响的。

安装Carbide.c++ 2.0,安装过程中选择 Professional Edition

3,开发环境配置

a),语言切换:

默认安装的是英文的模拟器环境,如果你需要使用中文模拟器或在模拟器上显示中文,你需要这么做:点击 开始 -> 程序 -> S60 Developer Tools -> 3rd Edition FP2 -> 1.01 -> Languages -> Change to Chinese,这样就把语言切换成中文了。

b),在命令行中输入 path 查看下把你的 path 环境变量中有没有包含CSL Arm Toolchain的安装路径,如果没有将它添加到 path 环境变量中去,如我的是添加 C:/Program Files/CSL Arm Toolchain/bin

c),控制台打印输出调试:

修改C:/Symbian/9.2/S60_3rd_FP1_6/Epoc32/Data/epoc.ini 文件中的

LogToFile 0

LogToDebugger 0

LogToFile 1

LogToDebugger 1

使用时,打开工程的 mmp 文件,在其中的 static libraries 中添加 ecrt0 库,在需要在控制台输出信息的文件中包含头文件 #include <e32debug.h>,然后我们就可以如在C中使用printf一样使用:

RDebug::Print(_L("###CImageManager::LoadImage %d/n"), idx); 来将打印信息输出到控制台了。

d),有时候编译会出现如下问题问题

the file 'AknExNote.rsg' cannot be opened

或者类似" 工程名_XXXX.rsg" 文件无法找到的错误,可以通过如下办法解决,打开命令行,进入 C:/Symbian/9.2/S60_3rd_FP1_6/Series60Ex/note/group 目录下,依次输入以下命令:

bldmake bldfiles

abld build winscw udeb

这样就会在C:/Symbian/9.2/S60_3rd_FP1_6/Epoc32/BUILD/Carbide/workspace/工程名/group/工程名/WINSCW 下生成对应的 rsg 文件。

e), 系统头文件可能是因为版本不兼容等问题,编译时可能会说找不到 ecom.h 头文件,这里需要修改:C:/Symbian/9.2/S60_3rd_FP1_6/Epoc32/include/http /cauthenticationfilterinterface.h 的头文件包含路径,将 #include <ecom.h>修改为 #include <ecom/ecom.h> 就可以了。

二, 项目设置

1,在开始 -> 程序 -> Carbide.c++ v2.0 打开Carbide.c++编译器,将workspace设置在安装开发工具的同一个磁盘里面(理由前面说了)。在Window -> Preferences -> General -> Editors -> Text Editors 左侧的 Show line numbers前面打勾,这样就会显示代码行号。

2,导入工程:选择 File -> Import,在对话框中选择 Symbian OS -> Symbina OS Bld inf file,然后 next, 选择 C:/Symbian/9.2/S60_3rd_FP1_6/Examples/Basics/HelloWorld/Bld.inf,然后 next,一路默认,直到 finish就可以导入工程了。

3,在工程浏览器视图(Project Explorer)中右击项目 HelloWorld,在弹出菜单中选择 Build Project,应该可以顺利编译通过了,然后再在弹出菜单中选择 Run as -> Run symbina OS Appion,在弹出对话框中选择Finish。这样就可以在模拟器中运行程序了。(模拟器启动速度可能比较慢,你点击模拟器界面中照相机按钮下面的蓝色 椭圆按钮进入应用程序界面,选择 installed进入已安装程序界面,就可以找到安装的 HelloWorld 程序)

三,开发流程

1, 如何在工程中导入图片资源:

a), 将bmp图片(名字要为英文)拷贝到 工程名/gfx 目录下,这样你在Carbide.c++打开group下面的 工程名.mmp 文件,选择 Sources栏(题外话:Libraries栏是配置库的,前面说的调试库就在这里设置),选择右边的 Bitmaps,如果下面没有任何mbm文件,就添加一个;如果有了直接双击打开。在弹出的对话框中选择Add From Project,选择你刚刚拷贝到gfx目录下的bmp图片就可以了,确定。

b),然后重新编译工程,就会在C:/Symbian/9.2/S60_3rd_FP1_6/Epoc32/include目录下自动生成工程名.mbg文件,里面是定义了一些enum变量对应你加入的图片id,在代码中你可以使用这些id来引用图片资源。

c),这样你就可以在项目中如下代码所示装载图片了:

_LIT (KImagesFilename,"//System//Apps// 工程名//工程名.mbm");

CFbsBitmap* iFbsBmp = m_EikEnv.CreateBitmapL(KImagesFilename, 图片id);

2,如何在工程中加入中文字符串:

a),只能使用utf8格式的中文字符文本,所以你需要将文本格式(gb2312)的文本文件转换成utf8才能在工程中使用。具体操作见下。

b),在data目录中添加文本文件: cntext.txt,内容如下:(注意CHARACTER_SET UTF8不可少!)

CHARACTER_SET UTF8

#define qtn_connect_confirm "允许应用程序访问网络么?"

#define qtn_exit_confirm "确定退出应用程序么?"

c),在data目录中添加bat文件:charconverter.bat,内容如下:

@echo off

charconv -input=gb2312 cntext.txt -output=utf8 cntext.loc

pause

d),运行此bat,就可以在data目录下生成cntext.loc文件,这时在Carbide.c++中工程中的data目录下就可以看到这三个文件了,打开data/工程名.rss文件,添加包含

#include "cntext.loc"

再在下方的Resources for messages处添加以下内容:

RESOURCE TBUF32 r_connect_confirm { buf=qtn_connect_confirm; }

RESOURCE TBUF32 r_exit_confirm { buf=qtn_exit_confirm; }

打开data/工程名_reg.rss文件,看看有没有包含 工程名_0xXXXXXX.rsg 文件(XXXX是16进制的UID,编译项目时会在C:/Symbian/9.2/S60_3rd_FP1_6/Epoc32/include目录下自动 生成该文件),如果没有就添加包含:

#include <工程名_0xXXXXXX.rsg>

e),这时重新编译项目,就会在工程名_0xXXXXXX.rsg文件中生成字符串资源ID

#define R_CONNECT_CONFIRM 0x5edfa00e

#define R_EXIT_CONFIRM 0x5edfa00f

f), 这样在项目中你就可以通过如下代码来使用中文字符串了。

CAknQueryDialog* dlg = CAknQueryDialog::NewL();

HBufC* pFormat = StringLoader::LoadLC(R_EXIT_CONFIRM);

dlg->SetPromptL(*pFormat);

if(dlg->ExecuteLD(R_STAR_CONFIRMATION_QUERY))

{

Exit();

}

3),发布到手机上,在Carbide.c++中右击项目,在弹出菜单中选择项目属性Properties,选择

Carbider.C++栏目下面的Build Configurations,在右边的Configuration中选择Phone Release

(GCCE) ,然后在下面的SIS Builder中Add新的sis,选择sis/项目名_s60_.._.pkg文件,然后OK,

Apply,OK,重新编译就会在sis目录下生成:

项目名_s60_.._.sis

项目名_s60_.._.six

两个文件,将它们拷贝到手机上就可以安装应用程序了。

4),常见的按键值:

左软键 0xa4 164

右软键 0xa5 165

确定键 0xa7 167

左键 0xe 14

右键 0xf 15

上键 0x10 16

下键 0x11 17

5),去除项目向导自动生成的默认左菜单,只要将 工程名.rss 中的 r_menu 清空就可以了。

RESOURCE MENU_PANE r_menu

{}

四, 参考书籍

对比了一下,比较好的参考书籍是<Symbian OS C++ for Mobile Phones>中文版第三版

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。