用VC6.0做一个MFC扩展的DLL,编译时会生成一个DLL文件和一个LIB文件。当我把DSP中的DEF文件删除后,再编译却只生成DLL,而不生成LIB。不知在Project    Setting中的什么地方设置,或有什么其它办法(不要告诉我再把DEF加进来呀),因为我这里有一大堆的DSP中都没有DEF文件,而且编译都会生成LIB。解决问题马上给分,在线等待。    

解决方案 »

  1.   

    project ->setting->link里把doesn't produce.LIB前面的勾去掉有没有用呀?
      

  2.   

    回复人: kingcom_xu(杀不了人的刀,郁闷!) 那里没有勾呀!
      

  3.   

    88dd:
    没用的,已经Clean/Build有N多次了。
      

  4.   

    你的dll文件中有没有到处的函数或变量呀, 如果没有, 当然不会生成lib文件了。
      

  5.   

    你的dll文件中有没有导出的函数或变量呀, 如果没有, 当然不会生成lib文件了。
      

  6.   

    你比较link的参数会发现,两者除了/def有区别外,/implib都是相同的。而你说的其他DSP没有def文件也会生成lib,你可以发现c/c++中都有*_EXPORTS预定义,也就是说有__declspec(dllexport)输出,所以我觉得应该是有def文件与这个输出的定义是一样的作用。也就是 lhb_780902(逐日)所说的。
      

  7.   

    使用__declspec(dllexport)添加到你要输出的函数定义前面
      

  8.   

    多谢各位,已经解决。是SourceSafe出了问题。