把#include <afxsock.h>加入到StdAfx.h头文件中试试

解决方案 »

  1.   

    to  tangby(sinababy) 
    还是不行
    以前也碰到过这种问题,当时调整了一下“#include..”的先后次序就解决了,但这次文件比较多,没上次好弄
      

  2.   

    Prject|Settings|General|Microsoft Foundation Classes你必须在项目设置里面设定你使用MFC, 还有就是看一下code generation里面,是不是选择了multithreaded的支持
      

  3.   

    also check this article:
    http://support.microsoft.com/support/kb/articles/Q148/6/52.ASP另外一个你可以试试的是:
    把#include <afxwin.h>放到所有的#include之前
      

  4.   

    非常感谢 strip(阿飞) 
    现在只剩下
    Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
    Nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
    了,不知有何建议
      

  5.   

    project->setting->c++->Code generation->use runtime lib:
    debug mutithreaded dll
      

  6.   

    to ahao(天·狼·星星) 
    还是没用,现在我调整了一下lib的链接顺序,就只剩下下面的警告了,不知对程序运行有没有什么影响?
    warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
      

  7.   

    to strip(阿飞) 
    在调用socket创建函数Create(port)时,程序再也无法运行或跟踪调试下去。
      

  8.   

    to ahao(天·狼·星星) 
    程序运行不下去,没有返回值,如果按F10的话就弹出一个错误对话框,然后还停在那里,对话框和访问地址为00000里的数据时报错的消息一样
      

  9.   

    你的socket是什么?CSocket* socket?
    new了吗?
      

  10.   

    to  ahao(天·狼·星星)  
    那是我从CAsyncSocket派生出的一个类,将该类单独放入一个工程调试通过,工作正常。
      

  11.   

    在调用套接字的程序中加入#pragma  comment  (lib  ,  "ws2_32.lib")
    或是在菜单的Project->  Setting->  link->  Object/library  Module中加入Ws2_32.lib,
      

  12.   

    还是没用,现在我调整了一下lib的链接顺序,就只剩下下面的警告了,不知对程序运行有没有什么影响?
      warning  LNK4098:  defaultlib  "LIBC"  conflicts  with  use  of  other  libs;  use  /NODEFAULTLIB:library
    #pragma comment(linker, "/NOD")
    #pragma comment(lib, "Libcmtd.lib") 
    #pragma comment(lib, "Libcimtd.lib")
      

  13.   

    头都大了,错误又变成
    Nafxcwd.lib(thrdcore.obj)  :  error  LNK2001:  unresolved  external  symbol  __endthreadex
      Nafxcwd.lib(thrdcore.obj)  :  error  LNK2001:  unresolved  external  symbol  __beginthreadex
    VC真烦人
      

  14.   

    to  ericzhangali(卖女孩的小火柴)
    那该咋办啊?
      

  15.   

    http://www.csdn.net/expert/topic/544/544226.xml
      

  16.   

    看callstack,你就知道到底哪里出错了
      

  17.   

    _ b e g i n t h r e a d e x 函数只存在于C / C + +运行期库的多线程版本中。如果链接到单线程运
    行期库,就会得到一个链接程序报告的“未转换的外部符号”错误消息。当然,从设计上讲,
    这个错误的原因是单线程库在多线程应用程序中不能正确地运行。另外需要注意,当创建一个
    新项目时,Visual Studio 默认选定单线程库。这并不是最安全的默认设置,对于多线程应用程
    序来说,必须显式转换到多线程的C / C + +运行期库。
      

  18.   

    to strip(阿飞) 
    停在调用socket创建函数Create(port)时
    to ahao(天·狼·星星) 
    具体怎么用callstack查错啊
    to  ericzhangali(卖女孩的小火柴)
    那我该咋办啊,把选项改成多线程也不行啊
      

  19.   

    to jeffchen(Jeff) 
    调了
    另外我发现当把它单独放在一个工程里时就工作正常。但当把它在CreateThread()函数中声明并使用时,客户端可以连上,但在该类里OnAccept()和OnReceive()函数上的断点均没有反应,即用Go运行程序时,客户端连上该监听该端口,但程序没有在断点处停下。我也在OnAccept()和OnReceive()中也进行消息输出,但实际上没有输出,不知为何?
      

  20.   

    在工程的设置里有一项可以去掉一些缺省链接(,在工程设置对话框 link-input有一项ignore libraries编辑框输入  LIBCD.lib
      

  21.   

    你用static link MFC试试看.
      

  22.   

    重复定义啊!
    不能删afxsock.h那就删掉和他重复的其他header file!