gpt4 book ai didi

C - 对 WSAStartup@8 的 undefined reference

转载 作者:太空狗 更新时间:2023-10-29 16:58:26 26 4
gpt4 key购买 nike

我正在使用 Code::Blocks、MinGW 和 Windows。我正在尝试初始化 winsock,以便我可以处理一个项目。我不断收到错误 Undefined Reference to WSAStartup@8有人知道如何解决这个问题吗?

#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>

#pragma comment(lib,"ws2_32.lib")

int main(int argc , char *argv[]){
WSADATA wsa;
int output;

output=WSAStartup(MAKEWORD(2,2),&wsa);
if(output != 0) {
printf("Startup failed %d\n", output);
return 1;
} else {
printf("Initialized");
return 0;
}

}

最佳答案

链接器在加载代码后查找依赖项。如果库在需要符号之前出现在构建过程中,因为源文件在之后出现,那么没有使用符号,后来当它们出现在源文件中时,它们将无法解析。将链接的 winsock 库 -lws2_32 放在源文件和目标文件之后。

gcc prog.c -o prog -lws2_32

关于C - 对 WSAStartup@8 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34384803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com