找回密码
 注册
搜索
查看: 1411|回复: 7

[讨论] 11Acosmos下MTK代码编译连接时出现问题

[复制链接]
发表于 2011-9-23 15:40:49 | 显示全部楼层 |阅读模式
先贴log
Error: L6218E: Undefined symbol VappMsgViewerCp::getVappMsgViewerCpClassInfo() (referred from vfx_xml_table.obj).
Not enough information to produce a SYMDEFs file.
Not enough information to produce a FEEDBACK file.
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 4 information, 6 warning and 1 error messages.





11A之前的也会在链接的时候出现这个样子的Undefined Symbol未定义的问题,只要定义,或者extern引用就可以解决问题了。
但是现在11A的对应了C++那块的内容比较多了,想请问下大家,在c++下出现这个样子的问题应该怎么解决呢???
发表于 2011-9-26 09:46:34 | 显示全部楼层
VappMsgViewerCp 就是你的_className啊
点评回复

使用道具 举报

 楼主| 发表于 2011-9-23 17:09:23 | 显示全部楼层
接上面啊_className::get##_className##ClassInfo() 这个定义跟 VappMsgViewerCp::getVappMsgViewerCpClassInfo() 有啥关系呢??

想问下大牛有啥解决办法的给交流交流下啊[em05]
点评回复

使用道具 举报

 楼主| 发表于 2011-9-23 17:07:13 | 显示全部楼层
自己先顶下吧,分享下我的解决方式吧,先到vfx_xml_table.cpp里找有没有getVappMsgViewerCpClassInfo()这样的函数,没有就想自已定义一个(vfx_xml_table.cpp里写void VappMsgViewerCp::getVappMsgViewerCpClassInfo(),编译还是说没有定义,挺奇怪,后又在VappMsgViewerCp.h(这里是类声明的)里声明了下,结果就直接编译还没到链接报了返回值参数不对的错误,想了好长时间还是没有明白什么意思)

仔细看了下VappMsgViewerCp.h发现有一处地方写的挺奇怪:
class VappMsgViewerCp : public VfxControl
{
    VFX_DECLARE_CLASS(VappMsgViewerCp);-----就这里



找到它定义的地方的前面一点点的地方:

#define VFX_OBJ_CLASS_INFO(_className)  (_className::get##_className##ClassInfo())-----就是这里


/*
* Macro to declare class information.
*/
#define VFX_DECLARE_CLASS(_className)                                               private:                                                                            static VfxU32 s_classInfoBuf[];                                                  static VfxClassInfo *s_classInfo;                                                                                                                           public:
点评回复

使用道具 举报

发表于 2011-10-20 09:50:38 | 显示全部楼层
哈,刚发完就解决了,这个问题在CPP文件中声明VFX_IMPLEMENT_CLASS 的相关内容就不会出现了,关于VFX_IMPLEMENT_CLASS 有没有大神来解释下?[em01]
点评回复

使用道具 举报

发表于 2011-10-20 09:34:50 | 显示全部楼层
只要是我定义的class,都会出现VFX_DECLARE_CLASS里面的在连接时候报错,请问怎么解决?
点评回复

使用道具 举报

发表于 2011-10-11 14:44:52 | 显示全部楼层
这个“##”你知道什么意思不?A##B 就是 AB(一个新的字符),知道这个 ,你就知道有啥关系了。
点评回复

使用道具 举报

 楼主| 发表于 2011-10-25 10:47:30 | 显示全部楼层
这个问题在CPP文件中声明VFX_IMPLEMENT_CLASS 的相关内容就不会出现了

请问怎么声明啊?
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-25 21:45 , Processed in 0.045955 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表