C++ 中winsock源代码应用错误
1.
A.我在C++中调用winsock函数编译老出错:
Cpp1.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
Cpp1.obj : error LNK2001: unresolved external symbol __imp__gethostname@8
Cpp1.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
Debug/Cpp1.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
B.如在开始中加入extern "c" 问题同上;
C.原代码如下:
#include <iostream>
#include <winsock2.h>
using namespace std;
//extern "c";
int main()
{
WSADATA words ;
if(WSAStartup(MAKEWORD(2,2),&words)!=0)
{cout << "Winsock init failed!";}
char *pi;
pi=new char;
gethostname(pi,1024);
cout <<"You host name: "
<< *pi
<< endl;
WSACleanup();
return 1;
}