MTK移植编译错误和解决方法

上传人:野鹰 文档编号:3107635 上传时间:2017-07-30 格式:DOCX 页数:37 大小:59.35KB
返回 下载 相关 举报
MTK移植编译错误和解决方法_第1页
第1页 / 共37页
MTK移植编译错误和解决方法_第2页
第2页 / 共37页
MTK移植编译错误和解决方法_第3页
第3页 / 共37页
MTK移植编译错误和解决方法_第4页
第4页 / 共37页
MTK移植编译错误和解决方法_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《MTK移植编译错误和解决方法》由会员分享,可在线阅读,更多相关《MTK移植编译错误和解决方法(37页珍藏版)》请在金锄头文库上搜索。

1、 compile*1 GEMINI_MTK6225 编译1 安装 ADS 和 perlMITK6226 相同2 当安装环境 ready 后再 PH_code 下面点击 cmd.exe 进入控制台界面ph resgen/编译资源ph new_modis/如果编译顺利,每个子项目应该都是p,如果有F,则到 MoDIS 下的产生F的子项目下有个 xx.dsw 文件,用 vc 进入该文件进行编译,编译不通过,则根据 error 提示进行调试,产生F的所有子项目都通过后,再进入 DOS 控制台,对 modis 重编译,输入 ph remake_modis,编完全部都是P后,ph gen_modisph

2、codegen_modis /generate modis database,这一步可以不做,对模拟器没影响再到 MODIS 目录下用 vc 打开 MoDIS.dsw,对所有子项进行编译,如果编译通过,产生一个MoDIS.exe 文件放在本目录下的一个 MoDIS 目录下的 Debug 下面,双击该文件即可得到手机模拟器界面。2 wxt_common.cerror:重定义 BOOL在 wxt_common.c 中把#if !defined(_MTK_SUPPORT_)#include #endif放在#include MMI_include.h之前3 Error: L6218E: Undefi

3、ned symbol Image$ZI$Limit (referred from sys_stackheap.o).Not enough information to produce a SYMDEFs file.Finished: 1 information, 72 warning and 1 error messages.答:找个 c 文件添加 如下代码就通过了 int Image$ZI$Limit=0x8f00000;4 toolsmake.ext: *applib.lib Error 2D:mtkworkMTK_CodePH_CodebuildPH25_GEMINIlog 查看 res

4、_gen 文件,注意:当资源编译错误是,res_gen 文件的大小为 1k,资源编译没错时 res_gen 文件大小为 0k。././MMI/Inc/MMIDataType.h:331:1: unterminated #ifndef/这个错误是ifndef 没有结束,也就是没有相应的#endif打开 applibapplibmiscsrcapp_datetime.c, line 2502: Serious error: C2859E: Missing #endif at EOFplutommiMMIFrameworkNVRAMManagerNVRAMManagerIncNVRAMType.h,

5、 line 111: Serious error: C2335E: expected but found typedef in enum definition5 常见错误分析及解决方法: Such as :compile block -Con_appError:make1: * No rule to make target Hai_Extern.obj, needed by build/GXQ26_07B/gprs/MT6226o/lib/conn_app.lib. Stop.Reason:1.在 make 文件中添加了 Hai_Extern.c 文件的编译,但在对应的文件目录下找不到对应的

6、.c文件。2.在 make 文件中没添加生成 Hai_Extern.obj 目标文件的源文件 .c 或.h.Compile block -mmi_appError:plutommimmiebookreaderebookincEbookProt.h, line 29: Error: C2456E: undeclared name, inventing extern int GUI_SHARED_BYTESplutommimmiebookreaderebookincEbookProt.h, line 29: Serious error: C2958E: illegal in constant ex

7、pression: non constant GUI_SHARED_BYTES:Solve mothed:查找 GUI_SHARED_BYTES 是否有定义,没有定义则需要添加定义,以及定义为 constant 是否正确。Compile block -mmi_frameworkError:plutommimmiebookreaderebookincEbookProt.h, line 173: Warning: C2816W: Unbalanced #if/#ifdef/#ifndef/#endif in fileSolve mothed: check Number of #endif and

8、#ifCompile block- customError:customsystemGXQ26_07B_BBcustom_sap.h, line 68: Serious error: C2933E: type disagreement for MSG_ID_CUSTOM1_CUSTOM2customsystemGXQ26_07B_BBcustom_sap.h, line 68: Serious error: C2934E: duplicate definition of MSG_ID_CUSTOM1_CUSTOM2customsystemGXQ26_07B_BBcustom_sap.h, li

9、ne 69: Serious error: C2933E: type disagreement for MSG_ID_CUSTOM2_CUSTOM1customsystemGXQ26_07B_BBcustom_sap.h, line 69: Error: C2991E: linkage disagreement for MSG_ID_CUSTOM2_CUSTOM1 - treated as externcustomsystemGXQ26_07B_BBcustom_sap.h, line 71: Serious error: C2933E: type disagreement for MSG_I

10、D_TTSPLAYER_SERVICEOPENcustomsystemGXQ26_07B_BBcustom_sap.h, line 71: Error: C2991E: linkage disagreement for MSG_ID_TTSPLAYER_SERVICEOPEN - treated as externSolve mothed: 检查编译文件是否重复包含 custom_sap.h 文件Error:在生成 database BPLGU 文件出错原因 可能是因为缺少 以下三个文件:造成。BPLGUInfoCustomApp_MT6226_S01_MAUI_07B_W08_16_MP_V

11、2BPLGUInfoCustomApp_MT6226M_S01_MAUI_07B_W08_16_MP_V2BPLGUInfoCustomApp_MT6227_S01_MAUI_07B_W08_16_MP_V2还有其他原因造成,则需要查 buildlog 下 log 文件根据提示的错误信息来更改工程文件。Error:编译某个文件时提示 can not open XXX.h 文件Solve mothed:1. 在 make 文件中修改对应的 XXXinc 文件, 添加对.h 文件的编译2. 在.h 文件中包含的字符、变量、函数等,用 extern 对其进行定义。6 当资源编译错误时,log 下的

12、res_gen 文件为 1k,没错误时大小为 0k。如果在编译模块之前 reg_gen 的大小为 1k,则要用 new 命令,如果为 0k,则可以直接用 remake 命令7 #ifdef _TOPSUN_CLUB_ 和#if defined(_TOPSUN_CLUB_)区别,不要写错,如果要用到|或 &时,就一定是用#if defined()形式8a. new: 不管资源、代码是否有改变,全部重编; b. update: 扫描资源、代码的改变,有改变的重编,无改变的不编; c. remake: 不扫描资源,只扫描代码的改变,有改变的重编,资源和无改变的代码不编; d. clean: 清除 b

13、uild 目录下的所有内容,保留目录结构9 添加了新资源之后要想在 modis 上显示出来,在用 vc 编译 modis 之前,先要在控制台下执行命令a ph resgen 或 ph newb ph new_modis 第一次,如果不是第一次,可以用 ph remake_modis,其实在 new_modis时,当出现编译模块产生 log 文件时,可以关闭 new_modis,直接用 vc 编译 modis。c 再用 vc 编译 modis 工程ph new 时出现的错误在 buildgemini25log 下查看ph new_modis 时出现的错误在 Modis_BUILD_LOG 下查看

14、10 D:mtkworkmusic_online_codemusic_online_codePH_Codetopsun_appUisUIUisUtils.c(159) : error C2632: long followed by long is illegal把#define TICK_2_MS(tick) (unsigned int)(long long)(tick) * 302448) 16)中的 long long 该为 long11 调试,调试某句后某个函数有没有运行到,可以在其前面随便添加一个字符串,如aaaaa,在 remake 一下,如果 log 找到相关错误,那么说明程序编译

15、到该语句。在 linux 下有 printf 语句可以打印出信息,在 mtk 下有没有相关打印函数?12 在系统工程中添加任何新功能的代码时,都要添加开关(即一个开关宏) ,这样方便不需要该功能时只要把宏屏蔽即可。13 编译都没出错,但烧机后发现没有出现添加的功能,结果发现是烧机的 bin 文件搞错了,当有几个 bin 文件时,一定要选择刚生成的哪个 bin 文件,要查看路径和文件生成的时间。14 在修改或替换了某些头文件时有时需要删除相关模块,否则编译不会出错,但没有把更新的内容编译进去,看不到新加的内容,可以直接到 build 下删除模块,也可以用命令make custom=MAUI25_GEMINI gprs c topsun_app(模块名,c 表示 clean)15 custmenutree_out.c 里面的内容是自动生成的,不需要手动添加,只有需要在各个主菜单的入口添加子菜单(注:每添加一个子菜单要+1)即可,函数跟 custmenutree.c 里面的add 函数内容一样。16 注

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号