当前位置: 首页 > news >正文

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

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.lryc.cn/news/140219.html

相关文章:

  • unity-AI自动导航
  • 使用create-react-app创建react项目
  • 12.串,串的存储结构与模式匹配算法
  • Ribbon:listOfServers ,${variableName:defaultValue}
  • TensorFlow二元-多类-多标签分类示例
  • 【回眸】牛客网刷刷刷!(七)——通信协议之 网络通讯
  • MySQL 安装配置
  • 【0824作业】C++ 拷贝赋值函数、匿名对象、友元、常成员函数和常对象、运算符重载
  • ubuntu 22.04 LTS openai triton 安装
  • Android SDK 上手指南||第七章 Java应用程序编程
  • Vue 框架如何获取数组中的值?
  • 如何成立一家音频芯片/算法设计公司
  • 用docker-compose搭建LNMP
  • JavaScript:基本语法(变量与函数的定义与使用)
  • 树莓派4B上安装Gitlab
  • JVM 之字节码(.class)文件
  • neo4j函数
  • wazuh初探系列一 : wazuh环境配置
  • 【2023】Spring Validation中@NotNull注解、@NotBlank注解介绍以及使用
  • nodejs+vue养老院管理系统 u1yrv
  • 高效PDF校对:释放高质量内容的力量
  • 【Git游戏】提交的技巧
  • SQL注入读写文件
  • stm32之12.如何使用printf打印输出
  • 敏感挂载hotplug容器逃逸分析与复现
  • RTThread学习有关的Keil的两个符号 $Sub$ $main 与 $Super$ $main
  • Python实现企业微信群告警
  • python基础教程:re模块用法详解
  • 基于亚马逊云科技无服务器服务快速搭建电商平台——部署篇
  • git介绍+集成到IDEA中+使用gitee