您的位置:首页 > 其它

最近攒的一点关于mtk的编译小经验

2012-03-18 12:23 309 查看
最近攒的一点关于mtk的编译小经验

2010-08-29 22:07
1.不要频繁去make r等操作,大多数情况下在vc下编译即可,只要资源编译完,就会进入并行编译,改动了
资源就一定要去重新编译资源,命令make resgen,完恶劣就可以直接去vc并行编译一下,多数情况下
不需要在vc下并行编译,只要普通编译几个,除了使用了make命令后。
2.new 完后一定要 重新生成 modis ,命令如下:
make gen_modis
make codegen_modis
分别耗时一分钟

3.通常情况下,各命令所花时间如下:
make remake 10mins
make new 50mins
make resgen 5mins
其实应该看具体更改程度,以上数据指的是一般情况。

4.在修改了一个源文件后,只要在modis中点击编译即可
如果修改了源文件,也可以只点击编译即可,这时侯,可能会出问题,当你修改的东西需要的函数在它本
来应该编译的文件中没有得到编译,会提示这些函数名为没有定义的标识符;这时需要将这几个obj文件
重新编译,方法是将modis/mmi_app/***.obj删除,再编译一遍,这时vc就会再去编译一遍这些obj文件,
当然这样做有时还是会出问题,原因是你没有完全重新编译相关的obj文件,办法是,将mmi_app下的所
有的obj文件全部删除,然后再重新编译一遍,这时记得一定要选择并行编译,不然要很久。
5.如果使用make resgen编译资源时不彻底,可是使用make new来编译资源,等到模块编译阶段,
就终止它,就可以做到资源的彻底编译了。
错误处理办法:
1.已经使用的extern 引用该函数
error LNK2001: unresolved external symbol _mmi_fmgr_theme_activate_hdlr
1.估计是这个源文件没有纳入编译 yes
1.可以选中该模块,然后使用并行编译
2.可以改变源文件,然后编译
3.还可以去删除。obj文件,然后编译
6.设置断点
当是使用软按键触发事件时,在wgui_softkeys.c中的 execute_softkey_function 函数的
       softkey_functions[key][k] ();
行添加断点;
7.某些复杂的全局变量或者指针无法再单步编译中查看值
方法:
vc->project->setting(alt+f7)->modis->link
1.category == debug
2.取消separate types
3.选中both format
4.如果有连接错误,那么去掉D:\mtk\E570_0625_1644\MoDIS\MoDIS\Debug\vc60.pdb"这个文件,
再重新连接一遍,就OK了
8.当修改了某个.h文件(如ThemeComponents.h),但是没有修改对应的源文件(包含了这个头文件的
源文件),那么通常情况下是不会编译这个头文件的,方法是修改一下对应的源文件(如ThemeRes.c)
9.调试时,可以直接在valuable 窗口直接修改变量的值,然后运行看结果,而不需要去真正修改源代码;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mtk types function 2010