正在维护以前同事的程序,发现一个MFC扩展DLL的导入文件(.lib文件)没有了,调用该DLL的工程也因为这个原因无法编译。哪位大哥知道没有导入文件(.lib文件),如何连接MFC扩展DLL啊?!  注意啊,是MFC扩展DLL,导出的是DLL中的类哦,不是常规的Win32 DLL啊(常规Win32 Dll,俺就显式连接啦!)不知道MFC扩展DLL如何显式连接哦!!MFC扩展DLL,如何显式连接,导出DLL中的类 呢??

解决方案 »

  1.   

    生成 lib 文件:dumpbin /exports yourdll.dll > yourdll.def
    编辑 yourdll.def 文件,使之格式与.def文件格式一致,然后:
    lib /def:yourdll.def /machine:i386 /out:yourdll.lib
      

  2.   

    有头文件 吗? 那就动态调用。实在不行就vc的depends工具看看都有啥函数
      

  3.   

    你可以从网上找到一个DLL2LIB的工具
    如果知道接口,可以自己定义头文件,然后用LoadLibrary、FreeLibrary来动态加载
      

  4.   

    krh2001(边城浪子) : 谢谢,不过俺没看懂,能说清楚一点吗? beijingshizi(北京石子), qrlvls(空 气) :动态调用?我要导出类,是否直接用类名就可以了?有一个头文件,不过不确定是不是这个DLL的