写在前面的话:
这组文章是我05年-06年以前在blogger上的文章,那个时候blogger刚刚兴起,以为它能大展鸿图,一统blog系统,后来发现上这个blog的都是外国人,不爱看中文。我在很多地方开过博客,文章很多很杂,我的名字总是叫Christ,或者ChristChang,邮箱是palmelf.christ@gmail.com,MSN:christinsun11@hotmail.com。
Start with Symbian OS C++ (一)
Debug Carbide C++ IDE
使用Carbide C++你遇到的第一个问题大概是,当你正确的下载并安装了它,然后新建一个Hello World工程,然后当你决定将它编译成Arm格式的二进制代码并下载到自己的手机里试试的时候,IDE报错了!你可能会说,我还什么都没有做怎么就报错了呢?完全正确。报错是不应该的。这绝对是IDE的错,应该说,这是一个BUG。Hello World实际上是诺基亚提供的一个示例工程,就算不是示例工程,通过模板生成的代码也不应该报错。
实际的情况是,就目前所掌握的工具,几乎没有哪一个集成开发环境是能让你舒舒服服干活的。虽然存在这样那样的BUG,Carbide C++似乎仍然是当前最值得尝试的S60 IDE,因为它不仅为S60开发量身定做,而且,它是完全免费的!
要保证你的程序Carbide C++能正确编译并打包。请务必遵守下面的tips:
1.项目名称当中不要有空格。如Hello World是不行的,必须命名为HelloWorld。这是因为在编译的时候和生成打包描述文件(pkg文件)时对名称的处理办法不一致,如主程序,编译时会将Hello World会自动去空格成为HelloWorld.app,但是生成的pkg文件却只保留了前面的Hello,要求在指定位置提供Hello.app。如果你一定要使用带空格的项目名,可以通过手动修改pkg文件,将打包的文件列表里的文件名对应改成实际编译的文件名。或者手动修改Perl脚本。它们的位置在CARBIDE_HOME\plugins\com.symbian.cdt.sdk_1.0.0\scripts\下。
2.workplace的路径中不能有空格。安装了Carbide C++之后,默认的路径是C:\Documents and Settings\Christ\workspace,如果你使用这个workplace,那么连AIF文件的编译都不会正确的完成,更别说正确生成安装文件了。出现这个问题是Perl的原因。最好的办法是避免在有空格的路径中工作。
3.workplace必须和S60 SDK在同一个盘符下,否则你定义的EPOCROOT只有在Perl脚本中定义的$ENV{EPOCROOT}能正确找到路径,而makesis找不到,就是说,在模拟器中是没有问题的,但是却无法正确生成sis文件。如果你一定要在不同的盘符下工作,可以手动将打包的文件列表里$(EPOCROOT)替换成实际的路径。
分享到:
相关推荐
接下来,我们将使用 `START WITH` 和 `CONNECT BY` 来查询这个表,并构建出一个树状结构。 ##### 构建层级结构 如果我们想从 `ID = 1` 这一行开始构建层级结构,可以使用如下的SQL语句: ```sql SELECT * FROM ...
《Start Out With C++ Edition 9 Case Studies》是一份针对初学者极其有价值的教育资源,它将带你深入理解C++编程语言的精髓。这份资料是“Start Out With”系列的第九版,旨在通过一系列精心设计的案例研究,帮助...
As more and more developers realize the huge opportunities available designing with Symbian OS, one of the first major obstacles they face is the sheer length of time it takes to start producing ...
It will start with adding and editing C++ classes from within the Unreal Editor. It will delve into one of Unreal's primary strengths, the ability for designers to customize programmer-developed ...
《getting start with storm》中译电子书
6. **C++实现细节**:在`AStart.cpp`和`AStart.h`中,你可能会看到类`AStar`的定义和实现,包含`init()`用于初始化环境,`findPath()`执行AStar算法,以及`heuristic()`计算启发式函数。`main.cpp`是主程序,用于...
- **CORBA**(Common Object Request Broker Architecture):一种开放且独立于供应商的技术规范,用于构建分布式系统中的对象间通信架构。CORBA允许不同应用程序之间进行交互,无论它们是在同一台计算机上还是在...
在Oracle数据库中,`Start With.Connect By Prior`子句是执行递归查询的一种强大工具,主要用于处理层次结构数据。这类数据通常存在于组织结构、产品分类、文件系统等场景中,通过递归查询可以方便地获取树状或层级...
1. 遍历每一行数据,如果满足 START WITH 条件,则执行 RECURSE 过程。 2. 在 RECURSE 过程中, Oracle 会将当前行的子节点添加到结果集中,并递归地调用 RECURSE 过程,直到所有子节点都被处理完毕。 使用 START ...
`START WITH...CONNECT BY PRIOR`是Oracle SQL中的一个特性,用于处理具有层级关系的数据。这个子句允许我们遍历和查询具有父子关系的数据,例如部门和其下属子部门,或者员工和他们的上级经理。 1. **START WITH...
Start with Symbian OS C++ 第一个输出文件样例: The items to fit into the 15.0 knapsack are: 3 yellow daisy 3 gray mouse Total capacity used: 15.00 Total value: 36.00 ------------------------...
标题"Astart(C++).zip"提示我们这是一个关于C++实现A*(A-star)寻路算法的压缩包。A*算法是一种在图形搜索中非常有效的路径查找算法,广泛应用于游戏开发、地图导航等领域。它结合了Dijkstra算法的最短路径特性...
uC/OS本身是用C语言编写的,因此,要在uC/OS上使用C++,需要解决几个关键问题:一是C++的内存管理,因为uC/OS的内存分配机制与C++的new/delete操作不兼容;二是C++的构造函数和析构函数的调用时机,需要确保它们能在...
C++Builder 是一款基于 C++ 语言的集成开发环境,用于创建高性能的桌面应用程序。它拥有强大的编译器和调试器,以及丰富的 VCL(Visual Component Library)组件库,支持快速开发和部署。 ##### 3.2 安装与配置 1....
Learning C++ by Creating Games With UE4 will start with the basics of C++: installing a code editor so you can begin to write C++ code. You will then learn how to write small, self-contained C++ ...
In this chapter, the focus is on understanding the process of creating a C++ program from start to finish. The key points covered include: - **Introduction to the C++ Compiler**: Explanation of what ...
An introduction to Design Patterns in C++ with Qt 2nd Edition 中文版 C++ qt 设计模式 第二版, 中英文版 合集 Master C++ “The Qt Way” with Modern Design Patterns and Efficient Reuse This fully ...
### GESP C++ 一级考试知识点解析 #### 一、单选题知识点解析 1. **计算机输出设备:** - **知识点概述:**本题旨在考查学生对计算机硬件基本组成部分的理解,特别是输出设备。 - **选项解析:** - A. 麦克风是...