Windows网络编程 undefined reference to `__imp_WSAStartup‘ 解决办法

阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!!


提示:以下是本篇文章正文内容

1、问题描述

Windows下进行网络编程,devc++,运行.cpp程序时报如下错:

undefined reference to `__imp_WSAStartup'

具体哪一行不跳转

2、解决办法

第一步:头文件末尾增加一行:#pragma comment (lib,“ws2_32”),如下:

#include <string.h>
#include <stdio.h>
#include <winsock2.h>
#include <time.h>

#pragma comment (lib,"ws2_32")    //静态加入一个lib文件,也就是库文件ws2_32.lib文件,提供了对网络相关API的支持
/*
关于WSAStartup方法和WSACleanup方法引用出错的解决:
	错误:
	编译的时候出现 
	undefined reference to `__imp_WSAStartup'
	undefined reference to `__imp_WSACleanup'
	在一般编译器中不会直接连接编译wsock动态库,需要手动添加库
	首先可以尝试代码中直接引入动态库,#pragam comment(lib,"ws2_32");
	如果不行再手动添加库
	在vc中,点项目(project-->project option)在makefile中输入-L"ws2_32" 
	在dvc C++中点击工具(Tool)-->编译选项(Compile Option)在编译命令框中输入-lwsokt32
*/

第一步如果不行再进行第二步:

工具选项中编译选项
在这里插入图片描述
添加 -lwsock32

在这里插入图片描述
参考链接:
https://blog.csdn.net/qq_20916555/article/details/50938424


码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!
码字不易,谢谢点赞!!!

猜你喜欢

转载自blog.csdn.net/qq_40967086/article/details/128492568
今日推荐