照个例子写了一个winsock api的程序。
#include <winsock2.h>
#include <stdio.h>...
WSAStartup()
...
socket()
...
closesocket()
...compile没问题,就build的时候出现错误:
server.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
server.obj : error LNK2001: unresolved external symbol __imp__socket@12
...在c++builder的编译器中编译没问题的,我不会用vc,请问是不是什么编译环境设置的有问题?

解决方案 »

  1.   

    要加入libproject-》settings-》link里面加Ws2_32.lib
      

  2.   

    在程序头部(#include位置)
    加条语句, #pragma comment(lib,"ws2_32")
      

  3.   

    请解释一下这个语法
    #pragma comment
    ps:是不是使用到winsock2.h的程序都要用到ws2_32.lib?
      

  4.   

    Linking...
    FileServer.obj : error LNK2001: unresolved external symbol "void *  Errorcontext" (?Errorcontext@@3PAXA)
    FileServer.obj : error LNK2001: unresolved external symbol "void (__cdecl* pErrorCallBack)(void *,unsigned int,char *,void *)" (?pErrorCallBack@@3P6AXPAXIPAD0@ZA)
    Debug/Server.exe : fatal error LNK1120: 2 unresolved externals
    Error executing link.exe.
    我编译时出现上面错误,请问又是哪里出错了呢?!!!!
    急啊!
      

  5.   

    在工程中加入wsock32.lib就胜了
      

  6.   

    Errorcontext.....,的实现没有放到编译的.cpp/.c中,或是你没有加入包含他们实现的lib。
      

  7.   

    #include <winsock.h>
    。。
    工程里加wsock32.lib