windows sdk and wsa startup
windows sdk and wsa startup
我是网络编程新手,我正在尝试一个教程。这是我试过的程序。
#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;
}
我得到的错误是:
D:CodeBlocksMinGWbinNetworkmain.cpp|14|undefined reference to `WSAStartup@8'|
再次,这是我第一次做网络programming
,我不知道为什么会出现这个错误。我想我应该安装windows sdk。有人告诉我是否应该安装,我应该安装什么。
正如Alex Farber提到的,你必须链接到Ws2_32。为了让链接器找到WSAStartup的实际代码。他知道(从winsock2头文件)它是如何声明的,但不知道他的实际实现,这是在相关的库文件中找到的,它可以是静态的(.lib)或动态的(windows上的dll)。
在问这种问题之前,你应该自己在谷歌上搜索一下这个错误,你会发现很多人都有同样的问题。
一个更一般的建议:当你遇到这类问题时,如果第一次研究"完全"相同的错误信息不起作用(高度怀疑,但它可能发生),尝试研究一个更一般的错误"未定义的参考",你会很容易满足你对知识的渴望(:D)。
如果您想快速了解编译/链接,请参阅编译/链接过程如何工作?希望这篇文章能回答你的问题,并给你一些如何寻求帮助的提示^^
祝你有一个美好的一天和快乐的编码:)
相关文章:
- 看起来如此主要的错误.cpp:(.text.startup+0xd6):未定义对"vtable for Counter"的引用?
- 在我的代码中出现这个"10038 wsa socket"错误
- TCP WSA发送完成标准
- WSA 10049 错误,没有明显的原因
- Netbeans 8.0.2 返回"During startup program exited with code 0xc0000135"
- GCC/MINGW中'startup files'来源
- C++ QT libXL 错误:"During Startup program exited with code 0xc0000135"
- windows sdk and wsa startup
- 绑定服务器套接字时WSA错误10048
- nohup ./startup & Permission 被拒绝