在工程中加入dib.h和dib.cpp,得到CDib类,在文档类中的头文件中声明
#include "Dib.h"public:
    CDib m_dib;在文档类的CPP文件中引用
m_dib.LoadFile(file);就会出现下列问题:
error LNK2019: 无法解析的外部符号 "public: void * __thiscall CDib::LoadFile(class CFile &)" (?LoadFile@CDib@@QAEPAXAAVCFile@@@Z),该符号在函数 "public: void __thiscall CImageProgramDoc::OnFileOpen(void)" (?OnFileOpen@CImageProgramDoc@@QAEXXZ) 中被引用所有引用了CDib中的成员函数都会出现这样的问题
怎样解决了?

解决方案 »

  1.   

    确认一下dib.cpp是否已经加入。这是编译时找不到函数体所致。
      

  2.   

    #include "Dib.h"
    #pragma comment(lib, "dib.lib")
      

  3.   

    加上
    #pragma comment(lib, "dib.lib")上述出现的问题是没有了,可是又有了新问题:fatal error LNK1104: 无法打开文件“dib.lib”???
      

  4.   

    晕。楼主的程序根本就没有动态库啊。怎么会要包含库文件呢。
    还是看一下,dib.cpp在不在工程中
      

  5.   

    你是用VC的文件加入的方式加入工程的,还是只把这两个文件复制到了工程目录中?
    估计你是用的后者。用VC的project->Add to project->Files...加入这两个文件吧。
      

  6.   


    同意,cpp文件没加入到工程里
      

  7.   

    我是先将.h和.cpp两个文件COPY到工程目录中,再用项目->添加现在项->选择.h和.cpp两个文件->添加,这样加入到工程中去的,应该是没错吧
      

  8.   

    你就在FileView的Source Files目录中找一下这个dib.cpp文件。如果有,看一下里面有没有报告错误的那些函数体。
      

  9.   

    回楼上,都有的,我编程时,输入m_dib.
    后面出现提示窗口,是在里面选择的报告错误的那些函数体。
    是不是有设置的问题
      

  10.   

    我找了网上资料解决了:
    打开此项目的“属性页”对话框。
    单击“C/C++”文件夹。 
    单击“语言”属性页。 
    修改“将 wchar_t 视为内置类型”属性:否(/Zc:wchar_t-)这谁想得到哦谢谢上面的各位了,多谢多谢!