小弟最近有个需求,在mfc share dll中做一个功能模块
目前有一个对话框类A,一个功能类C
A中有一个C类的成员变量cc
我想通过cc来调用C类的成员方法,提示错误如下:DialogBase.obj : error LNK2001: unresolved external symbol "public: __thiscall CTerminalGroup::CTerminalGroup(void)" (??0CTerminalGroup@@QAE@XZ)
DialogBase.obj : error LNK2001: unresolved external symbol "public: int __thiscall CTerminalGroup::GetTerminalsData(void)" (?GetTerminalsData@CTerminalGroup@@QAEHXZ)
Debug/TestSMDialog.exe : fatal error LNK1120: 2 unresolved externals
执行 link.exe 时出错.各位大大们帮帮忙

解决方案 »

  1.   


    class CTerminalGroup 
    {
    public:
            xxxxx;
            xxxxx();
            BOOL GetTerminalsData();
    }
    BOOL CTerminalGroup::GetTerminalsData()
    {
           return TRUE;
    }
    这是定义和实现
      

  2.   

    对话框类A,一个功能类C
    都在mfc share dll吗?
    没有输入 类CTerminalGroup  所在的lib文件?
      

  3.   

    嗯,都是在一个mfc share dll中
    你说的“没有输入 类CTerminalGroup  所在的lib文件?”
    这句话我不是很明白,两个类都是一个dll下的,我只是在A类的头文件中引入C类的头文件
    还需要做别的设置吗?
      

  4.   

    麻烦能说的更细一点吗?
    我只是在dll对外的接口中使用了约定,在类声明里没有使用
      

  5.   

    在dll对外的接口中也不要使用