专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 移动平台

MTK入门级异常,VC编译器无法解析自己声明的外部函数

发布时间:2010-05-30 21:25:01 文章来源:www.iduyao.cn 采编人员:星星草
MTK入门级错误,VC编译器无法解析自己声明的外部函数
代码是在Source Insight 3.5下写的,VC++6.0编译
在MMI的目录下写了一个HelloWorld的包,下面3个子目录“Inc”、“Src”和“Res”。
里面有:
HelloWorldGprot.h  
HelloWorldProt.h  
HelloWorldTypes.h  
HelloWorldDefs.h 

报错的方法 _mmi_HelloWorld_entry() 是在HelloWorldGProt.h 中声明,在HelloWorld.C中实现,
最后是在MTK开发包的MMI/MainMenu.C的goto_main_menn()方法中调用:

#include "HelloWorldGprot.h"
void goto_main_menu(void)
{
#ifdef __MMI_HELLOWORLD_ENABLED__
  mmi_HelloWorld_entry();
  return;
#else
  … // 此处为之前goto_main_menu的代码
#endif
}

以上文件的配置工作都在MTK目录下make\plutommi里面的几个文件写好,加入到了工程中去,

VC报错信息:
--------------------Configuration: MMI - Win32 Debug--------------------
Compiling...
MainMenu.c
Creating library...
--------------------Configuration: PC_Simulator - Win32 Debug--------------------
Linking...
  Creating library Debug/PC_Simulator.lib and object Debug/PC_Simulator.exp
LINK : warning LNK4098: defaultlib "LIBCD" conflicts with use of other libs; use /NODEFAULTLIB:library
LIBCMTD.lib(crt0init.obj) : warning LNK4098: defaultlib "libc.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
MMI.lib(MainMenu.obj) : error LNK2001: unresolved external symbol _mmi_HelloWorld_entry
Debug/PC_Simulator.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

PC_Simulator.exe - 2 error(s), 2 warning(s)



PS: 搞了好几天的错误,试过很多网上方法,还是无法解决,希望MTK开发经验丰富的人士指点下,谢谢。

------解决方案--------------------
你新建了一个应用的folder 需要在3个地方修改makefile

make/plutommi/mmi_app下面 .inc (头文件路径) .pth(应用的文件夹路径) .lis(C源文件路径)

不知道是不是你都加了 

另外在VC编译的时候 是不是编译到你的文件了

mmi_app.dsp里面有没有
------解决方案--------------------
在make\plutommi\下
plutoMMi.Lis: 此文件用来指明MMI所要编译的所有源文件
Plutommi\MMI\HelloWorld\Src\HelloWorld.c
plutommi.inc:此文件用来指明MMI所有头文件所在目录
Plutommi\MMI\HelloWorld\Inc
plutommi.pth:此文件用来指明MMI所有源文件所在目录
Plutommi\MMI\HelloWorld\Src


在文件\plutommi\Customer\ResGenerator\Makefile中添加两行:
- I “../../MMI/MainMenu/MainMenuInc” \
-I “../../MMI/HelloWorld/Inc” \

另外你make new会成功,但是make resgen不一定会成功
添加资源一定要make resgen
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • atd指令拨号,怎么判断电话状态

    atd指令拨号,如何判断电话状态 在网上找了许久,终于找到一位仁心解决方案,这个指令是可以得到手机当时的状态,但是不管是空号、欠费、...

  • MTK添加应用程序解决方法

    MTK添加应用程序 添加好了模块之后(inc、lis、pth)在用VS2008编译时候报错 提示找不到我新添加文件的头文件,我在makefile里也添加了...

  • 资源编译有关问题

    资源编译问题 make p=d9128 m=resource 后 最后出现了几句话,不知道是什么意思,是否成功 generate resource bin successful! tota...

  • MTK11A怎么更换主菜单顺序

    MTK11A如何更换主菜单顺序? 在vappMainmenuDefaultOrder中更换联系人和通话记录的顺序,r cosmos后。没有更换过来,请问,怎样更换顺序? ...

  • MTK 画png图片 图片边缘有杂色,该怎么解决

    MTK 画png图片 图片边缘有杂色 我在MTK作图中,在处理png图片的时候总是会遇到图片边缘会有一些杂色或者是通透下一层背景图片的问...

  • MTK各种版本,该怎么解决

    MTK各种版本 大家好,我知道MTK有很多版本,但是通过原代码不知道怎么判断,我想请问大家版本怎么判断,还有就是各个版本之间编程有什么...

  • mtk模拟器联网解决思路

    mtk模拟器联网 刚接触mtk,想请教下高手mtk的模拟器是如何连接网络上的,之前有见过别人在模拟器上打开网页。需要修改什么? ------解...

  • 急怎设置让android内置浏览器无地址栏?该如何解决

    急!怎设置让android内置浏览器无地址栏? 想通过一个activity中的按钮链接到另一个网页,由于美观需要,不希望出现地址栏,怎么办? ------...

  • 关于手机浏览器显示谷歌地图的有关问题

    关于手机浏览器显示谷歌地图的问题 请问哪些手机浏览器能正常显示谷歌地图呢,我知道opera可以,safari可以,其他的呢。还有,网页正常显...

  • 怎么在mstar的idle界面画图

    如何在mstar的idle界面画图 怎么在idle上画图呢,比如说画点画线画一个图片上去等. 刚接触mstar,不熟悉。 mstar画idle是哪一个函...

热门推荐: