(转载)symbian使用arm5编译器
来源:互联网 发布:unity3d 桌面精灵 编辑:程序博客网 时间:2024/06/05 21:05
原来是gcc编译的工程,完成后被要求添加第三方库,但是第三方只提供arm5的库,不肯提供gcc的。
下载RVCT22,CSDN提供很多免费版的,然后按照下面文章设置就可以了,第一篇就够了,第二篇没用。
转载自:http://hi.baidu.com/71167609/blog/item/959b193ded7d51d69e3d6233.html
Carbide C++使用ARM编译器编译2010-12-08 15:25 使用Carbide C++开发Symbian平台上的应用时,编译到真机上一般使用GCCE编译器,因为Carbide C++自带了GCCE编译器。Carbide C++的编译选项中也提供了ARMV5选项,如果直接选择这个选项来编译真机程序,会失败,因为Carbide C++本身没有带RVCT编译器。RVCT是Symbian平台的收费编译器,生成的文件,相对于免费的GCCE,性能更优,体积更小,对代码的检查也更严格。但是RVCT价格也很昂贵,普通开发者一般难以承受。网上流传有RVCT编译器的破解版本,但是使用要小心,如果使用破解版,再去使用快速签名,可能会带来官司。
使用破解版RVCT编译器的步骤如下:
1 下载RVCT的破解包。
2 使用破解包中自带的patch程序patchRVCT目录下的所有exe。
3 运行keygen.exe,生成license.dat。
4 设置两个环境变量:
LM_LICENSE_FILE 变量值是license.dat的完整路径(注意是完整的包含路径的文件名,不是目录)。
PATH中添加RVCT根目录。
5 在命令行中运行armcc --vsn就可以了,这个时候就可以在Carbide中选择ARMV5编译了。
常见问题:
1 提示RVCT0_0.h No such file or directory。一般是因为工程没有重新导入,添加了RVCT编译器后,需要重新import 工程文件。
2 重新导入后,还是报错,这个时候,需要Clean一下(首先需要在Carbide C++-》Prefernces->Carbide C++->Build->SBSV1中把Clean Level设置成Level 2)。
使用Carbide C++开发Symbian平台上的应用时,编译到真机上一般使用GCCE编译器,因为Carbide C++自带了GCCE编译器。Carbide C++的编译选项中也提供了ARMV5选项,如果直接选择这个选项来编译真机程序,会失败,因为Carbide C++本身没有带RVCT编译器。RVCT是Symbian平台的收费编译器,生成的文件,相对于免费的GCCE,性能更优,体积更小,对代码的检查也更严格。但是RVCT价格也很昂贵,普通开发者一般难以承受。网上流传有RVCT编译器的破解版本,但是使用要小心,如果使用破解版,再去使用快速签名,可能会带来官司。
使用破解版RVCT编译器的步骤如下:
1 下载RVCT的破解包。
2 使用破解包中自带的patch程序patchRVCT目录下的所有exe。
3 运行keygen.exe,生成license.dat。
4 设置两个环境变量:
LM_LICENSE_FILE 变量值是license.dat的完整路径(注意是完整的包含路径的文件名,不是目录)。
PATH中添加RVCT根目录。
5 在命令行中运行armcc --vsn就可以了,这个时候就可以在Carbide中选择ARMV5编译了。
常见问题:
1 提示RVCT0_0.h No such file or directory。一般是因为工程没有重新导入,添加了RVCT编译器后,需要重新import 工程文件。
2 重新导入后,还是报错,这个时候,需要Clean一下(首先需要在Carbide C++-》Prefernces->Carbide C++->Build->SBSV1中把Clean Level设置成Level 2)。
基于RVCT编译器的symbian平台搭建(完成版)
基于RVCT编译器的symbian平台搭建(完成版)
rvct是symbian平台的收费编译器,相比于免费的gcce,性能更优,而且生成的文件小的多。 rvct价格昂贵最低也要五六万,所以开发成本有限的小公司只能选择破解。 但请注意,如果你的软件要发布,要express signed,最好别用破解的rvct,否则小心吃官司。
下面就是破解rvct的全部步骤
一.rvct编译器
1.下载crack包
2. patch 当前目录下的所有的exe(注意这里patch.exe右键属性里把兼容性设置为"用兼容模式运行win98",才能一个个选择文件.
3.运行keygen.exe,生成license.dat,注意电脑当前时间要准确,不然license可能出错
4.设置两个环境变量
LM_LICENSE_FILE 变量值为rvct2.2的license的路径。
PATH 值为rvct2.2根目录
5. 在命令行模式运行armcc --vsn 就OK了。这里可能会碰到错误信息“ Cannot obtain license for Compiler (feature compiler) with license version >= 2.2”, 解决办法是重新patch,重新生成license.dat。若还不行,就是你电脑有“未来”的文件,比如当前时间是2008.12.31,而硬盘里能找出很多2009年的文件,也会导致license出错。可用touchpro批量改时间戳,改完再重新生成license。
carbide命令行编译工程:
cd group bldmake bldfiles abld build armv5 urel makesis yourproject.pkg signsis yourproject.sis yourproject.sisx **.cer **.pem 后面2个是钥匙。
3. rvct命令行可运行,在carbide v1.3却始终不行,以为是日期超前或carbide版本不对,折腾了一天多,回头翻“ARMV5 build targets”文档点击进入,找到了原因,rvct 2.2 build 435只支持到symbian os v9.2,v9.3需要rvct2.2 build 559, 所以只能在symbian v9.1用破解的rvct,因为总不可能要arm技术人员帮你升级吧...
二.s60下调试程序
5.armv5下编译生成的lib应该在epoc32/release/armv5/lib,而现在都生成在epoc32/release/armv5/udeb里。 解决方法: testlive555.mmp里LIBRARY groupsock.lib改成STATICLIBRARY groupsock.lib, 即可解决
6. 无法生成usageenvironment.lib, 解决办法:头文件冲突,groupsock.mmp里去掉SYSTEMINCLUDE /epoc32/include/libc/sys
7. ctime,EAGAIN未定义,而mmp里确实有include,解决办法:可能是头文件冲突,把SYSTEMINCLUDE /epoc32/include/stdapis移到最前面,问题解决。
8. live555库已经调通了,mpeg4解码库还剩几个问题,原因应该是不同编译器宏定义不一样
9. 当一个工程.c和.cpp文件混在一起时容易出问题。rvct用c++规则编译c程序导致很多问题,统一都用cpp后 编译通过.
10.mpeg4解码库编译没错却没有生成lib,解决办法: mmp尾部加上
#ifdef ENABLE_ABIV2_MODE DEBUGGABLE #endif
至此程序在s60 SDK下已经调通并生成sis,下面要用移植到UIQ 3.0 SDK上
三.uiq3.0下调试程序
对于不同平台和SDK之间程序移植所出现的错误,大体分为五种,没什么复杂的属体力活。
1. mmp中没有包含SYMSTEMINCLUDE
2. mmp中SYMSTEMINCLUDE顺序不对,造成冲突
3. 引起头文件重复,造成冲突
4. 指定路径下不存在该头文件
5. 头文件中不存在你要的函数声明,从别的地方拷过来
- (转载)symbian使用arm5编译器
- symbian 编译(转载)
- VC编译器(转载)
- Symbian s60入门(转载)
- symbian汉化打包(转载)
- symbian自签名(转载)
- Linux下C/C++编译器gcc使用简介(转载)
- symbian gcc 编译器 优化
- C++编译器选项(转载)
- fortran 编译器安装(转载)
- Symbian中使用活动对象的三种典型设计(转载)
- symbian操作系统 入门篇(转载)
- [S60]symbian基本类型转换 (转载)
- symbian学习转载
- Symbian启动过程(转载)
- symbian同步绘图(转载)
- linux下gcc编译器的使用(网上转载)
- 使用spyder编译器单步调试python(转载配图)
- openCV笔记
- ffmpeg分析系列之四(探测输入的格式)
- 解决Office2007安装时出现错误1706的方法
- linux内核中的Oops
- JS中parseInt函数的解析
- (转载)symbian使用arm5编译器
- HTML默认样式表CSS属性
- BitmapFactory.decodeFile能否对一张来自HTTP的图片进行解码呢
- hibernate 缓存
- 打印1到2000被3 8整除的数
- 在centos 5.0上安装Oracle10201(10g)
- Android进阶:实现多线程下载文件
- 我所认为的产品经理——从读PONY的产品笔记想到的
- select count(*) 速度慢的原因主要有什么?