我在VS2010中 创建一个MFC程序,
然后增加一个新类, CDllwrapper。
在CTestNApp类中 利用模板类管理这个新创建的类
#include <afxtempl.h>
#inlcude <DLLwrapper,h>CTestApp:public CWinAppEx
{ public:
      CMap<CString,LPCTSTR,CMyClass,CMyClass&>m_Map;
}//CMyClass的类声明如下:#pragma once
class CMyClass
{
public:
CMyClass(void);
~CMyClass(void);
};
系统编译的时候提示错误 2 error LNK2019: 无法解析的外部符号 "public: __thiscall CMyClass::~CMyClass(void)" (??1CMyClass@@QAE@XZ),该符号在函数 "public: virtual void __thiscall CMap<class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >,char const *,class CMyClass,class CMyClass&>::Serialize(class CArchive &)" (?Serialize@?$CMap@V?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@PBDVCCMyClass@@AAV3@@@UAEXAAVCArchive@@@Z) 中被引用 D:\TestApp.obj  
在VC6中没有问题,应该是没有缺少lib什么的,文件也存在。在Vs2010中 如何解决????

解决方案 »

  1.   

    我把自定义的类 换成 CString类型 就可以运行
      

  2.   

    你貌似没有#include "MyClass.h"
      

  3.   

    CMyClass的构造函数以及析构函数在哪里实现了??
      

  4.   

    CMyClass(void){};
    ~CMyClass(void){};
    这个是找不到构造与析构函数的实现。添加大括号,声明实现就ok了。
      

  5.   

    用VS2010 添加C++类 ,CMyClass 类 构造函数和 析构函数都是自动创建了 ,在Cpp文件中,
    是有的。
      

  6.   

    Serialize,有用到序列化吗?记得一个类要支持序列化条件蛮多的,其中一个就是要从cobject派生