C++ 创建&;使用Dll';MFC应用研究

C++ 创建&;使用Dll';MFC应用研究,c++,visual-c++,dll,mfc,C++,Visual C++,Dll,Mfc,我刚刚在Visual Studio 2013中创建了dll项目:新建项目->MFC dll->下一步->检查“MFC扩展dll”并完成。现在,我添加了新类: class CMyTest { public: CMyTest(); ~CMyTest(); int Test(){ return 1; } }; 接下来,我编译了该项目并获得了.lib、.dll文件。 在另一个项目(使用dll的人)中,我只需添加include、lib目录,并将.dll文件复制到.exe文件位置,并将.lib文

我刚刚在Visual Studio 2013中创建了dll项目:
新建项目->MFC dll->下一步->检查“MFC扩展dll”并完成。
现在,我添加了新类:

class CMyTest
 {
  public:
CMyTest();
~CMyTest();

int Test(){ return 1; }

};
接下来,我编译了该项目并获得了.lib、.dll文件。

在另一个项目(使用dll的人)中,我只需添加include、lib目录,并将.dll文件复制到.exe文件位置,并将.lib文件添加到链接器->输入的附加依赖项。
现在,我只是在我的OnInitDialog()方法上从CMyTest类创建了一些对象:

CMyTest x;
当我试图编译这个项目时,我得到了链接错误:

Error   3   error LNK2019: unresolved external symbol "public: __cdecl CMyTest::CMyTest(void)" (??0CMyTest@@QEAA@XZ) referenced in function "protected: virtual int __cdecl CUsingDllProjectDlg::OnInitDialog(void)" (?OnInitDialog@CUsingDllProjectDlg@@MEAAHXZ)   C:\Users\user\documents\visual studio 2013\Projects\UsingDllProject\UsingDllProject\UsingDllProjectDlg.obj  UsingDllProject
Error   4   error LNK2019: unresolved external symbol "public: __cdecl CMyTest::~CMyTest(void)" (??1CMyTest@@QEAA@XZ) referenced in function "protected: virtual int __cdecl CUsingDllProjectDlg::OnInitDialog(void)" (?OnInitDialog@CUsingDllProjectDlg@@MEAAHXZ)  C:\Users\user\documents\visual studio 2013\Projects\UsingDllProject\UsingDllProject\UsingDllProjectDlg.obj  UsingDllProject

问题出在哪里?

您需要像这样声明测试方法(以及ctr、dctr):

__declspec(dllexport),指示链接器将符号导出到DLL。
您可以在此处阅读:

__declspec(dllexport) int Test(){ return 1; }