我们照样可以在EXE程序中隐式调用MFC规则DLL,只需要将DLL工程生成的.lib文件和.dll文件拷入当前工程所在的目录,并在RegularDllCallDlg.cpp文件(图12所示对话框类的实现文件)的顶部添加: #pragma comment(lib,"RegularDll.lib") void ShowDlg(void); 并将void CRegularDllCallDlg::OnCalldllButton() 改为: void CRegularDllCallDlg::OnCalldllButton () { ShowDlg(); } 我也参照了这个方法进行了设置,但是如果只是将.lib文件与.dll文件拷贝进工程目录中,并且在原文件中做出给出的代码改动,就会出现以下错误。错误信息为: RegularDllCallDlg.obj : error LNK2001: unresolved external symbol "void __cdecl ShowDlg(void)" (?ShowDlg@@YAXXZ)
解决办法:extern"C" void ShowDlg(void); //在前面加extern"C"