【Socket编程】undefined reference to `_imp_XXX`编译错误


windows下进行socket编程时,一开始会遇到 undefined reference to '__imp_XXX'等问题

这是因为程序没有添加对应的ws2_32.lib动态链接库

解决办法一:

在代码中预处理命令后面添加一行代码#pragma comment(lib, "ws2_32.lib") ,告诉windows链接ws2_32.lib这个库

(这个方法尝试之后没有成功,找不到原因,方法二三没有问题)

解决办法二:

如果使用的是IDE,为项目配置动态链接库即可

以Codeblocks为例:

Settings->Complier...->Linker seetings

image-20220304125333228

解决办法三:

使用命令行编译文件的时候在编译命令后面添加一个参数-lwsock32即可,需要是小写字母