现在我遇到这样的问题,我在一个程序中开发的类库,在那个程序中无论是DEBUG,还是RELEASE运行都没有问题,后来我要在另外的程序中重用它,在DEBUG中没问题,在RELEASE中序列化(serialize)出现问题,我用的是CTypedPtrList把我所写的类组织成链表的数据结构,当他调用CRuntimeClass::CreateObject时,居然找到其他类声明IMPLEMENT_SERLIA处!我现在前驴技穷,无计可施。哪位高手指点,分不够可以继续加
调试欢乐多
DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE
DECLARE_SERIAL/IMPLEMENT_SERIAL
这类宏的参数没设对引起的
Conquer what is not
#undef AFX_API
#define AFX_API AFX_EXT_CLASS
MY CLASS definition
#undef AFX_API
#define AFX_API
在没加如这个宏之前,RELEASE版本中,在类别型录网上,没有我所定义类,C++的规范是在静态变量先初始化,我不明白他为什么会这样。而加了这个宏之后,好象类被当作MFC EXTENSION DLL 来处理的。警告说DLL不符。程序可以正常运行,生成文件中多了一个*.lib。