小弟编写了一个dll,生成两个文件:
Ctrl.lib
Ctrl.dll在程序中我这样调用的:
#pragma comment(lib, "Ctrl.lib") 
extern /*__declspec(dllimport)*/ BOOL CmmdInput(unsigned char cmid ,void * para );void CTestDlg::OnTest() 
{
   // TODO: Add your control notification handler code here
   int i =  AmwellTrykeyCmmdInput(0x05,&dispalycmd);  //dispalycmd 是一个结构

}但是链接通不过,产生这样的链接错误:enerating Code...
Linking...
testDlg.obj : error LNK2001: unresolved external symbol "int __cdecl CmmdInput(unsigned char,void *)" (?CmmdInput@@YAHEPAX@Z)
Debug/test.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.test.exe - 2 error(s), 0 warning(s)小弟刚学mfc编程,还请前辈们指教

解决方案 »

  1.   

    #include "xxx.h"  //包含对应的头文件就可以了,不用extern
    #pragma comment(lib, "Ctrl.lib")
    //extern /*__declspec(dllimport)*/ BOOL CmmdInput(unsigned char cmid ,void * para ); 
      

  2.   

    你还要包含它的头文件啊.要不没有定义的.extern去掉.
      

  3.   

    不用吧,我就是这样直接加的,可以用。
    也不用加载.lib
    extern "C"
    {
    BOOL __declspec(dllexport) __cdecl Initial();
    }
      

  4.   

    .lib可以在设置里面添加,不用在函数里面加。
      

  5.   

    连接方法有多中 推荐你看http://soft.yesky.com/lesson/318/2166818.shtml
      

  6.   

    #include "你自己在dll中生成的头文件"
    #pragma comment(lib, "你自己在dll中生成的lib")