Start with Symbian OS C++ (一)

写在前面的话:

这组文章是我05年-06年以前在blogger上的文章,那个时候blogger刚刚兴起,以为它能大展鸿图,一统blog系统,后来发现上这个blog的都是外国人,不爱看中文。我在很多地方开过博客,文章很多很杂,我的名字总是叫Christ,或者ChristChang,邮箱是[email protected],MSN:[email protected]

Start with Symbian OS C++ (一)

Debug Carbide C++ IDE

使用Carbide C++你遇到的第一个问题大概是,当你正确的下载并安装了它,然后新建一个Hello World工程,然后当你决定将它编译成Arm格式的二进制代码并下载到自己的手机里试试的时候,IDE报错了!你可能会说,我还什么都没有做怎么就报错了呢?完全正确。报错是不应该的。这绝对是IDE的错,应该说,这是一个BUG。Hello World实际上是诺基亚提供的一个示例工程,就算不是示例工程,通过模板生成的代码也不应该报错。

实际的情况是,就目前所掌握的工具,几乎没有哪一个集成开发环境是能让你舒舒服服干活的。虽然存在这样那样的BUG,CarbideC++似乎仍然是当前最值得尝试的S60IDE,因为它不仅为S60开发量身定做,而且,它是完全免费的!

要保证你的程序Carbide C++能正确编译并打包。请务必遵守下面的tips:

1.项目名称当中不要有空格。如HelloWorld是不行的,必须命名为HelloWorld。这是因为在编译的时候和生成打包描述文件(pkg文件)时对名称的处理办法不一致,如主程序,编译时会将HelloWorld会自动去空格成为HelloWorld.app,但是生成的pkg文件却只保留了前面的Hello,要求在指定位置提供Hello.app。如果你一定要使用带空格的项目名,可以通过手动修改pkg文件,将打包的文件列表里的文件名对应改成实际编译的文件名。或者手动修改Perl脚本。它们的位置在CARBIDE_HOME\plugins\com.symbian.cdt.sdk_1.0.0\scripts\下。

2.workplace的路径中不能有空格。安装了CarbideC++之后,默认的路径是C:\DocumentsandSettings\Christ\workspace,如果你使用这个workplace,那么连AIF文件的编译都不会正确的完成,更别说正确生成安装文件了。出现这个问题是Perl的原因。最好的办法是避免在有空格的路径中工作。

3.workplace必须和S60SDK在同一个盘符下,否则你定义的EPOCROOT只有在Perl脚本中定义的$ENV{EPOCROOT}能正确找到路径,而makesis找不到,就是说,在模拟器中是没有问题的,但是却无法正确生成sis文件。如果你一定要在不同的盘符下工作,可以手动将打包的文件列表里$(EPOCROOT)替换成实际的路径。

c++

相关推荐