连接时发生重复定义的错误…………错误在WODBCMCL.LIB 和lnetlib.lib中,这两分别是FTP公司个,WATCOM公司提供的库,两个都有用,又都没法改。有什么可以解决的办法吗???

解决方案 »

  1.   

    1 在编译的参数中加入 /MTd 

    The most common cause of this error is accidentally linking with both the single-threaded and multithreaded libraries. Ensure that the application project file includes only the appropriate libraries and that any third-party libraries have appropriately created single-threaded or multithreaded versions.
      

  2.   

    1 在编译的参数中加入 /MTd 
    MSC6.0好象没有这个参数啊设定方法:
    Projcet setting-->C/C++-->Use run-time library 可以选择使用那个库
      

  3.   

    再文件头加上
    #ifndef _文件名_H
    #include _文件名_H or #define ...#end if
    好像是这么得吧,是那个我也网机了
      

  4.   

    各位,我用的不是VC6.0是以前用来编译DOS程序的MSC6
      

  5.   

    汗,MSC6没用过,你改改它的编译环境对应的设置试试
      

  6.   

    我记得回答过一次了,怎么丢了。
    可以封装这两个lib,把同名的函数封装在不同的lib中
    例如WODBCMCL.LIB 和lnetlib.lib中都有abc(),
    自己做两个lib
    myWODBCMCL.LIB 和mylnetlib.lib,分别把abc()修改为abc1()和abc2(),
    其中
    myWODBCMCL.LIB使用WODBCMCL.LIB的函数
    abc1()
    {
      return abc();
    }
    mylnetlib.lib中abc2()使用lnetlib.lib的函数
    abc2()
    {
     return abc();
    }   
      

  7.   

    你可以另做一个DLL把它重新封装一下后在调用。
    这样就可以避免在编译时提示重名的问题
      

  8.   

    xxedge(好钢用在刀刃上)的方法可能有用,还没试过谢谢大家