#include <iostream.h>
// #include <afxext.h> 
#include <afxsock.h>void main()
{
// CAsyncSocket sock;
DWORD dwValue;
CSocket sockClient;
sockClient.Create();
CString strAddr="";
UINT nPort=1032;
sockClient.Connect(strAddr,nPort);
CSocketFile file(&sockClient);
CArchive arIn(&file,CArchive::load);
CArchive arOut(&file,CArchive::store);
arOut<<dwValue;
arIn>>dwValue;
}
ws2_32.lib也在project-》settings中设置了,可是仍然有错误,
错误如下:
--------------------Configuration: net_002_receive - Win32 Debug--------------------
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/net_002_receive.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.net_002_receive.exe - 3 error(s), 0 warning(s)
请问究竟是为什么?
谢谢!

解决方案 »

  1.   

    在project settings --> c/c++ --> project options:里面空格加上/mt 就好了
      

  2.   

      刚才按照  晕忽忽  的做法,在project   settings   -->   c/c++   -->   project   options:里面空格加上/mt ,
    结果还是出错,跟以前的错误一样;看了看错误提示,似乎真的是用到了多线程。可是,我该如何解决这个问题呢?
     谢谢大家了!
      

  3.   

    看你是控制台程序,不要用 MFC ,直接用 Windows Socket API 吧。
      

  4.   

    __endthreadex 和 __beginthreadex两个函数是C运行时库中结束线程和创建线程的函数,在VC6的工程设置中可以选择使用的DLL来设置是使用静态库、还是动态库以及是多线程还是单线程,具体的我记不清了, 因为我现在使用2005,2005里面已经默认是多线程了
      

  5.   

      问题已经解决,
       在prioject-》settings》c、c++的category里面选择codegeneration,之后选择debug multithreaded dll就可以了。谢谢大家!