windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton‘解决办法

news2024/9/24 13:23:44

windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton’解决办法


mingw-gcc环境使用网络需要加上库 -lws2_32。

如果是使用的是Qt Creator那么需要在.pro文件中加入一行:win32:LIBS += -lws2_32

当在项目中使用inet_pton、inet_pton、inet_ntop、inet_ntop等ip转换函数时会报未定义的错误,这是因为在windows系统下这些函数的定义在头文件winsock2.hws2tcpip.h中,这几个函数能够编译取决于_WIN32_WINNT这个宏定义!

而mingw-gcc中的_mingw.h头文件定义了宏_WIN32_WINNT的值为0x0502,这个值代表的是当前系统是Windows Server 2003,导致在编译的时候不会将这几个ip地址转换函数编译进去,所以就需要将这个宏的值改为0x0600,表示使用的是Windows Vista。

对于此值的定义可以查看微软官方的解释:https://learn.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=msvc-170

!!注意!!

保险起见,不要在_mingw.h中更改_WIN32_WINNT!

而是在你自己项目中使用到的时,添加头文件ws2tcpip.h和winsock2.h的上方取消定义在重新定义!如下图:


ends…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/930761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2向Vue3过度Vuex状态管理工具快速入门

目录 1 Vuex概述1.是什么2.使用场景3.优势4.注意: 2 需求: 多组件共享数据1.创建项目2.创建三个组件, 目录如下3.源代码如下 3 vuex 的使用 - 创建仓库1.安装 vuex2.新建 store/index.js 专门存放 vuex3.创建仓库 store/index.js4 在 main.js 中导入挂载到 Vue 实例…

在为水质担忧吗?——水质检测大屏展示系统启动(inscode直观运行)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

哪款运动耳机好用、舒服的运动耳机推荐

如今,运动耳机已成为备受热捧的运动潮流单品,消费者对耳机的需求非常多元化。一款出色的运动耳机不仅要满足基本的运动需求,还需要具备丰富的功能,这直接决定了耳机的附加价值。接下来,我将向大家推荐5款佩戴舒适、牢固…

Arduino驱动四位0.36英寸共阴数码管模块

目录 一、简介二、参数性能三、电路原理图四、使用方法 一、简介 点击图片购买 四位0.36英寸共阴数码管模块由一个12引脚的0.36英寸红色共阴数码管和一个TM1650驱动芯片构成,大大减少了驱动引脚与连线,只需要四根引线IIC即可控制数码管的显示。TM11650是…

C语言之三子棋游戏实现篇

目录 主函数test.c 菜单函数 选择实现 游戏函数 (函数调用) 打印棋盘数据 打印展示棋盘 玩家下棋 电脑下棋 判断输赢 循环 test.c总代码 头文件&函数声明game.h 头文件的包含 游戏符号声明 游戏函数声明 game.h总代码 游戏函数ga…

贝叶斯公式中的动词 命名技巧

一项血液化验有95%的把我诊断某种疾病,但是,这项化验用于健康人也会有1%的“伪阳性”结果(即如果一个健康人接受这项化验,则化验结果乌镇此人患有该疾病的概率是0.01)。如果该疾病的患者事实上只占总人口的0.5%,若某人化验结果为阳…

xfs ext4 结合lvm 扩容、缩容 —— 筑梦之路

ext4 文件系统扩容、缩容操作 扩容系统根分区 根文件系统在 /dev/VolGroup/lv_root 逻辑卷上,文件系统类型为ext4,大小为10G,现在要将其扩容成20G。 给空闲空间分区# 调整分区类型为LVM,也就是8e类型 fdisk /dev/sdb# 选定分区后使…

JVM 之字节码(.class)文件

本文中的内容参考B站尚硅谷宋红康JVM全套教程 你将获得: 1、掌握字节码文件的结构 2、掌握Java源代码如何在JVM中执行 3、掌握一些虚拟机指令 4、回答一些面试题 课程介绍 通过几个面试题初始字节码文件为什么学习class字节码文件什么是class字节码文件分析c…

【Spring MVC】

目录 🍮1 什么是 MVC ? 🎁2 Spring MVC 的连接 🍘2.1 RequestMapping 实现 POST 和 GET 请求 🥣2.2 GetMapping 只支持 GET 请求 🫖2.3 PostMapping 只支持 POST 请求 🍬3 Spring MVC 获取参数的…

开始MySQL之路——外键关联和多表联合查询详细概述

多表查询和外键关联 实际开发中,一个项目通常需要很多张表才能完成。例如,一个商城项目就需要分类表,商品表,订单表等多张表。且这些表的数据之间存在一定的关系,接下来我们将在单表的基础上,一起学习多表…

第四方支付平台和聚合支付有什么区别?

第四方支付平台和聚合支付有什么区别? 聚合支付和第四方支付平台是移动支付领域的两种常见支付方式。它们在实际应用中有许多相似之处,给人们的生活带来了便利。然而,这两种支付方式也有本质的区别。我将从不同的角度对它们进行比较和分析。 …

找风景类视频素材就上这5个网站

免费高清的风景视频素材,我推荐你去这几个网站下载,赶紧收藏起来~ 菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 菜鸟图库网素材非常丰富,网站主要还是以设计类素材为主,高清视频素材也很多,像风景、植…

回归预测 | MATLAB实现TSO-ELM金枪鱼群优化算法优化极限学习机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现TSO-ELM金枪鱼群优化算法优化极限学习机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现TSO-ELM金枪鱼群优化算法优化极限学习机多输入单输出回归预测(多指标,多图)效…

java八股文面试[JVM]——垃圾回收器

jvm结构总结 常见的垃圾回收器有哪些? CMS(Concurrent Mark Sweep) 整堆收集器: G1 由于整个过程中耗时最长的并发标记和并发清除过程中,收集器线程都可以与用户线程一起工作,所以总体上来说,…

【Unity】拖拽放置模型时 为什么出现有时候有紧贴地面和有时候随机再空中的情况

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

骨传导耳机对大脑有影响吗?骨传导耳机有什么副作用

先上结论,骨传导耳机对大脑没有影响。骨传导耳机使用的是骨传导技术,声音是通过头骨骨头和颌骨给内耳传递的,而不是通过传统的空气传播。 简单来说,骨传导技术使用人类骨骼结构和声学原理来传递声音,这种现象我们也很常…

深入剖析Kubernetes之Kubernetes的本质

文章目录 Kubernetes的本质 Kubernetes的本质 Kubernetes 项目在 Borg 体系的指导下,体现出了一种独有的“先进性”与“完备性”,而这些特质才是一个基础设施领域开源项目赖以生存的核心价值。 Kubernetes 项目的架构,跟它的原型项目 Borg 非…

Python中的API构建指南:在Flask中进行API开发

原文:Python中的API构建指南:在Flask中进行API开发 - 知乎 如何实现从一个软件与另一个软件的通信交互?就像我们的APP,如何实现微信支付、苹果支付? 其实,我们只需要一个API。 API(应用程序编…

【二叉树入门指南】链式结构的实现

【二叉树入门指南】链式结构的实现 一、前置说明二、二叉树的遍历2.1前序遍历2.2中序遍历2.3 后序遍历 三、以前序遍历为例,递归图解四、层序遍历五、节点个数以及高度等5.1 二叉树节点个数5.2二叉树叶子节点个数5.3 二叉树第k层节点个数5.4 二叉树查找值为x的节点5…

黑客资料(基本概念,漏登平台,kali安装)

黑客资料 1.基本概念 1.1安全三要素 1.2 渗透测试 在拥有授权的前提下,模拟黑客的攻击手段进行测试,也被称为道德黑客 1.3 渗透测试的意义 1.4 渗透测试的流程 1.5 确定目标 这个确定目标,主要对范围进行测试,对那些设备&#…