1、98下的命令处理文件为command.exe,而2000为cmd.exe,可能路径不对
2、将98下的WS2_32.dll,复制到2000的winnt文件夹下(当然事先应该将原来2000的WS2_32.dll文件改名)

解决方案 »

  1.   

    对于第二个问题,你可以不用去理它。lxcc的方法可能有些问题,因为2000所有的系统文件都有备份,而且时刻监视着对这些系统文件的操作。你改名后,马上又会出现一个WS2_32.dll文件,即使你覆盖,马上又会还原过来,贼恶心。解决方法倒是有,就是将那个系统备份文件改名。
      

  2.   

    以上的错误信息是在release模式下编译出现的,在debug模式下编译出现以下问题:并且我已在link中包含了ws2_32.lib.
    ultiSock.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
    MySock.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
    MultiSock.obj : error LNK2001: unresolved external symbol __imp__WSARecvFrom@36
    MySock.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
    MySock.obj : error LNK2001: unresolved external symbol __imp__connect@12
    MySock.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
    MySock.obj : error LNK2001: unresolved external symbol __imp__socket@12
    MySock.obj : error LNK2001: unresolved external symbol __imp__recv@16
    MySock.obj: error LNK2001: unresolved external symbol __imp__send@16
    另外:S2_32.dll文件在2000下system32目录下有的。我想不用再拷贝了吧。我想是不是socket在98与2000下的调用方式不一样呢?
      

  3.   

    我想是不是2000下有了socket的新版本了呢?
      

  4.   

    后面的问题,我认为可能是类型的问题,你试一下在MySock.cpp等文件开头或公用的头文件处加上
    #define STRICT
      

  5.   

    这主要是win2000中安全性更好了,版本不匹配造成的
      

  6.   

    lhxx老兄:系统中没有winsock2.lib
    abcicq老个:版本问题如何解决呢?
      

  7.   

    1.你可能调用了dos命令,98和nt中dos命令处理程序不同,运行的参数和环境要求不一样,把不能运行的藏书传递给Cmd.exe了。
    2.这是由于关于代码的一部分优化和WS2_32.dll有关,无法实施优化,OPT:REF
    是指优化参数,对结果没有影响,仅仅是忽略这部分的优化而已。
      

  8.   

    乱搞~~~win2000的ws2_32.dll和98的不一样,所以不要拷贝。1.跟你的目录结构有关系吧,你把browse info file 给关了
    2.因为你的程序没有用到 ws2_32.dll 里面的函数,所有对他的引用已经被取消,及不连接该库了。