windows sdk 和 wsa 启动

Posted

技术标签:

【中文标题】windows sdk 和 wsa 启动【英文标题】:windows sdk and wsa startup 【发布时间】:2014-07-20 13:28:56 【问题描述】:

我是网络编程的新手,我正在尝试一个关于 .这是我试过的程序。

#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:\CodeBlocks\MinGW\bin\Network\main.cpp|14|undefined reference to `WSAStartup@8'|

再次,这是我第一次做网络programming,我不知道为什么会出现这个错误。我想我应该安装 windows sdk。有人会告诉我是否应该安装以及应该安装什么。

【问题讨论】:

你用什么来编译它?正如目前所写的那样,您的问题没有提供足够的元素来理解您的问题。 将 Ws2_32.lib 添加到链接器设置中。 @SergeBallesta g++! C::B的默认编译器 【参考方案1】:

正如 Alex Farber 所提到的,您必须链接到 Ws2_32.lib,以便链接器找到 WSAStartup 的实际代码。他知道(从 winsock2 标头中)它是如何声明的,但不知道他的实际实现,它位于相关的库文件中,可以是静态的(.lib)或动态的(windows 上的 dll)。

在问此类问题之前,您应该尝试自己在谷歌上搜索错误,您会发现很多人都遇到了同样的问题。

更一般的建议:当您遇到此类问题时,如果第一次研究“完全”相同的错误消息不起作用(高度怀疑,但它可能发生)尝试研究更一般的错误“未定义参考” to',您将轻松满足您对知识的渴望( :D )。

如果您想快速了解编译/链接,请参阅How does the compilation/linking process work?。希望这能回答它,并为您提供一些有关如何搜索帮助的提示^^

祝你有美好的一天,愉快的编码:)

【讨论】:

以上是关于windows sdk 和 wsa 启动的主要内容,如果未能解决你的问题,请参考以下文章

Win11安卓极速教程!

windows11预览版装WSA心得

win10安装安卓子系统android13肯定成功Windows Subsystem for Android(WSA)install 无法定位程序输入点ucal_getHostTimeZone 无网络

如何通过面具 Magisk 来Root Windows11中的 Subsystem for Android 安卓子系统WSA

Windows 11安装安卓子系统(WSA)并通过ADB安装应用教程

以WSA开头的API,结合了Windows平台特性