分类: 嵌入式
2009-11-18 11:12:29
1. 编译前须关闭项目文件夹下的相关文件。
2. Error: L6218E: Undefined symbol LCD_CtrlWrite_S6B33B1X (referred from MiscFunctions.obj).
3. 修改了.mak 文件后,必须NEW
4. 如新加了#include ... 后发现很多在一起的变量没定义,可以把该句移到其他#include 背后。
5. 当SVN系统,文件夹有黄色的叹号,表示冲突时,右击文件夹,选Resolved
即可
6. Error: L6218E: Undefined symbol DBG_PutUartStr1 (referred from keybrd.obj).
此为keybrd.c 文件中引用了 DBG_PutUartStr1() 函数,而找不到该函数的定义,原因是remake 时未对包含该函数定义的文件进行重新编译链接,搜索发现DBG_PutUartStr1 的定义在 Drv_comm.c 文件中,故删除F:\Z1700(BW1199)\Code\build\B1199\gprs\MT6223Po\drv\ Drv_comm.obj , 使其重新编译链接后PASS.
8..SVN 上传更改的文件时, 检测到非ASCII字符,并且不能转换自UTF-8
上传时未添加log注释,添加log后解决。
7. Fatal error: L6031U: Could not open scatter description file custom\system\MT6226_06B_BB\scatZ1204A_VICO.txt.
在此目录下自己新建一个scatZ1204A_VICO.txt
8. Warning: L6340W: options first and last are ignored for link type of -scattered
Error: L6218E: Undefined symbol RA_Hw_Init (referred from ra_hw.o).
Error: L6218E: Undefined symbol RA_Power_On (referred from ra_hw.o).
…
出现很多Undefined 的这种错误,且都是一个模块的,(属于ry3601模块),在option.mak 中添加CUS_REL_SRC_COMP += ry3601,remake 后 OK.
9. "plutommi\mtkapp\soundrecorder\soundrecordersrc\soundrecordersrc.c", line 517: Error: C2839E: junk at end of #endif line – ignored
前面多了一个#endif , 去掉后OK
10. "plutommi\mmi\gpio\gpiosrc\generaldeviceinterface.c", line 2085: Error: C2933E: type disagreement for 'PlayAndStopRuningHorseLedWithMusic'
在函数定义前引用了此函数,而在文件头部没有进行声明,只须在文件前头端进行声明即可.
11.Error: L6218E: Undefined symbol __MAINLCD__MAINMENU__MATRIX__MM_BG_GIF (referred from themeres.obj).
查看代码发现__MAINLCD__MAINMENU__MATRIX__MM_BG_GIF的声明在 Themecomponents.h中,搜索发现有两个文件未关联至服务器,导致未更新。将关联的服务器上文件对它们进行替换即可。
12.文件夹有黄色叹号,进行CLEANUP 后出现如下提示:
。。。is not a working copy directory.
SOLUTION:删除该文件夹再重新下载
13. "plutommi\mmi\gui\gui_src\wgui_datetime.c", line 3534: Error: C2285E: expected ';' or ',' - inserted ';' before 'gui_clock_get_clock_show_time'
SOLUTION:在该函数前的语句忘了加分号“;”。
14. 命令语法不正确。
make: *** [mtkapp.lib] Error 1
"plutommi\MtkApp\EngineerMode\EngineerModeSrc\EngineerModeDeviceSrc.c", line 8249: Error: C3028E:
SOLUTION:一个函数形参为U8 *string,而实际赋给他的是char *buffer,导致类型不符,调用时进行强制转换:(PU8)dispbuff即可。
15.修改gsm2.mak 后进行remake ,报错,大意是缺少分隔符.
SOLUTION:察看修改的地方发现有一句不像其他语句一样开头空了几格,便将他开头空上几格后ok.
16. Fatal error: L6002U: Could not open file .\build\Z1118\gprs\MT6225o\lib\mercury_master.lib.
原因:出现此ERROR时,使用的是 r plutommi,改为全remake 后,问题解决
17.新增一些代码后,编模拟器通不过,查看LOG,
..\..\kal\include\kal_trace.h(237) : fatal error C1083: Cannot open include file: 'ps_trace.h': No such file or directory
app_asyncfile.c
原因:添加的\make\AS6200\下少加了个.def文件, 加上后OK
或者提示:
..\..\kal\include\kal_trace.h(237) : fatal error C1083: Cannot open include file: 'ps_trace.h': No such file or directory
Error executing cl.exe.
查看make\modis_fs\modis_fs.def,看到:
0030:modis_fs.inc:020:1:14=48041e4b:16=47d21313:MoDIS\FileSystem\FileSystemInc
0030:modis_fs.lis:08F:1:14=48041e4b:16=47d21313:MoDIS\FileSystem\FileSystemSrc\FSSim_core.c
MoDIS\FileSystem\FileSystemSrc\FSSim_data.c
MoDIS\FileSystem\FileSystemSrc\FSSim_supplemental.c
0030:modis_fs.pth:020:1:14=48041e4b:16=47d21313:MoDIS\FileSystem\FileSystemSrc
make\modis_fs\modis_fs.def
0023:.:0:3:14=48041e4b:16=47d21313:0032:mtkdebug:000000000:2:14=48041e4b:16=47d21313:002F:mtkdebug.def:00:1:14=48041e4b:16=47d21313:
去掉上面垃圾内容即可。
18. Error: L6286E: Value(0x400f84) out of range(-0x400000 - 0x3fffff) for relocation #1 (wrt symbol __rt_sdiv) in m11303.obj(INTERNCODE)
Error: L6286E: Value(0x400786) out of range(-0x400000 - 0x3fffff) for relocation #1 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
Error: L6286E: Value(0x400778) out of range(-0x400000 - 0x3fffff) for relocation #2 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
Error: L6286E: Value(0x400766) out of range(-0x400000 - 0x3fffff) for relocation #4 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
Error: L6286E: Value(0x400742) out of range(-0x400000 - 0x3fffff) for relocation #5 (wrt symbol __rt_sdiv) in m11305.obj(INTERNCODE)
SCAT文件中的代码分段,其中有的段超了。
19. make[1]: *** No rule to make target `custom\drv\misc_drv\mt6225_gemini_bb\codegen\eint_drv.h', needed by `eint_def.obj'. Stop.
20. make\gsm2.mak:1793: *** commands commence before first target. Stop.
21.进行remake 编译时,
F:\Z1801\Code\build\Z1801M\Z1801M_PCB01_gprs_MT6229_S02.MAUI_07B_W08_12_F2.bin\*, 是否确认(Y/N)?
将此目录删除后再remake ,OK!
22.Error: L6220E: Load region ROM size (14740464 bytes) exceeds limit (14680064 bytes).
Not enough information to produce a SYMDEFs file.
BIN超出限制,考虑给资源(字体,图片,音频等)减肥、关闭某摆设功能、关闭一些SP服务,三方软件等。
23.make: *** [.\tst\database_classb\BPLGUInfoCustomAppSrc] Error 1
仔细查看make目录下的文件。
24.Error: L6850E: Archive contains non ELF Object CustImgRes.obj
make[1]: *** [build/TELSDA25_GEMINI/gprs/MT6225o/lib/mmiresource.lib] Error 1
25.Error: C2831E: unprintable char 0x1f found - ignored
将不可见字符转换为ASCII编码。
26.0 [main] sh 500 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
2179 [main] sh 500 open_stackdumpfile: Dumping stack trace to sh.exe.stackdum
p
make: *** [CustResDeclare.o] Error 101120
Error in ResGenerating Process!!
Please Check again!!
27Error: L6286E: Value(0x44573) out of range(0 - 0xff) for relocation #4 (wrt symbol GetCurrGuiBuffer) in engineermodedevicesrc.obj(i.EntryEmDevBtRfTXRX)
Error: L6286E: Value(0xf1c43) out of range(0 - 0xff) for relocation #3 (wrt symbol get_image) in phonebookmain.obj(i.mmi_phb_list_get_item)
28.MODIS Error:
OSC> main: MediaTek OSCAR START......
System > Initializing system memory...
System > Creating buffer pool...
System > Initializing KAL resource...
FSSim_Init(): fail to create directory E, error code = 183
[1] Assert fail: 0 fssim_core.c 440 0x0 0x0 0x0 - UNKNOWN
abnormal program termination
Press any key to continue
29.C2319E: type 'enum' inconsistent with 'enum'
Compiling applib/misc/src/app_datetime.c ...
"plutommi\MMI\Framework\NVRAMManager\NVRAMManagerInc\NVRAMType.h", line 111: Serious error: C2319E: type 'enum' inconsistent with 'enum'
applib\misc\src\app_datetime.c: 0 warnings, 0 errors, 1 serious error
查看res_gen.log
In file included from CustResDeclare.c:37:
../../MMI/Inc/CustDataRes.h:264: error: parse error before "CUSTOM_STRING"
../../MMI/Inc/CustDataRes.h:279: error: parse error before "CUSTOM_STRING"
../../MMI/Inc/CustDataRes.h:285: error: parse error before '}' token
make[1]: *** [CustResDeclare.o] Error 1
比如我在这里查到的是CustDataRes.h文件中包含了#include "MMIDataType.h"这个,而在MMIDataType.h文件我才刚刚加了
#ifdef __XXX_MOBILE_MMI__
#include "..\\..\\XXX_Software\\Resource\\XXX_ResIDDef.h"
#endif //__XXX_MOBILE_MMI__
把上面屏蔽掉就编译通过,于是出错的地方就明显而知了,把错误地方改下就可以了。
在实在查找不出错误时,时刻记得查看是否是资源编译出错。