C++ windows sdk和wsa启动
我是网络编程新手,我正在尝试一个关于网络编程的教程。这是我试过的程序C++ windows sdk和wsa启动,c++,winsock,startup,winsock2,C++,Winsock,Startup,Winsock2,我是网络编程新手,我正在尝试一个关于网络编程的教程。这是我试过的程序 #include<winsock2.h> #include<ws2tcpip.h> #include<iphlpapi.h> #include <iostream> using namespace std; int main() { WSADATA wsaData; int iResult; //initialize winsock iRe
#include<winsock2.h>
#include<ws2tcpip.h>
#include<iphlpapi.h>
#include <iostream>
using namespace std;
int main()
{
WSADATA wsaData;
int iResult;
//initialize winsock
iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if(iResult!=0)
{
cout << "Startup Failed:"<<iResult<< endl;
}
return 1;
}
同样,这是我第一次做网络
编程
,我不知道为什么会出现这个错误。我想我应该安装windows sdk。有人告诉我是否应该以及应该安装什么。正如Alex Farber提到的那样,您必须链接到Ws2_32.lib,以便链接器找到WSAStartup的实际代码。他知道(从winsock2头)它是如何声明的,但不知道在关联的库文件中找到的实际实现,它可以是静态(.lib)或动态(windows上的DLL)
在问这类问题之前,你应该试着自己用谷歌搜索错误,你会发现很多人都有同样的问题
一个更一般的建议:当你遇到此类问题时,如果第一次研究“完全”相同的错误消息不起作用(高度怀疑,但可能发生),尝试研究一个更一般的错误“未定义的引用”,你将很容易满足你的求知欲(:D)
如果您想快速了解编译/链接,请参阅。希望这能回答这个问题,并给你一些关于如何搜索帮助的提示^^
祝你度过愉快的一天并愉快地编码:)你用什么来编译它?如目前所写,您的问题没有提供足够的元素来理解您的问题所在。请将Ws2_32.lib添加到链接器设置中。@SergeBallesta g++!C::B的默认编译器
D:\CodeBlocks\MinGW\bin\Network\main.cpp|14|undefined reference to `WSAStartup@8'|