如题。

解决方案 »

  1.   

    alt-F7看settings
    常见是lib未引用
      

  2.   

    你是否把程序的正常的代码放在断言宏里面,因为在release模式下编译程序时,断言宏里面的代码不被编入可执行文件
      

  3.   

    如果在多线程中调用socket,可能会出现这个问题。如果是这样,在创建Socket前添加如下代码:
    void SocketThreadInit()
    {
    //#ifndef _AFXDLL
    #define _AFX_SOCK_THREAD_STATE AFX_MODULE_THREAD_STATE
    #define _afxSockThreadState AfxGetModuleThreadState()

    _AFX_SOCK_THREAD_STATE* pState = _afxSockThreadState;
    if (pState->m_pmapSocketHandle == NULL)
    pState->m_pmapSocketHandle = new CMapPtrToPtr;
    if (pState->m_pmapDeadSockets == NULL)
    pState->m_pmapDeadSockets = new CMapPtrToPtr;
    if (pState->m_plistSocketNotifications == NULL)
    pState->m_plistSocketNotifications = new CPtrList;

    //#endif
    }
      

  4.   

    有可能是两个版本中所用的宏还有lib不一样,在setting中好好看看
      

  5.   

    setting 中的C++
    最下面的options不一样可能引起link错误