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

这篇具有很好参考价值的文章主要介绍了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。

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

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

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

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

!!注意!!

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

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

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


ends…文章来源地址https://www.toymoban.com/news/detail-679396.html

到了这里,关于windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton‘解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows环境利用QT+CMake编译mingw版本的opencv

    Opencv官网没有提供mingw版本的opencv库,所以需要自己编译,下面是编译过程,32位64位方法类似。 可以直接下载编译好的mingw版本opencv4.4: 使用CMAKE3.22+QT5.13编译后的opencv4.4(32位的)资源-CSDN文库 如果网络不好,可能会需要自己手动下载下面的文件:  opencv_videoio_ffmpeg.dll+ope

    2024年02月13日
    浏览(52)
  • Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131931309 上一篇:没有了 下一篇:敬请期待…   麒麟系统上做全球北斗定位终端开发,调试工具要做一个windows版本方便校对,北斗GPS发过来的是大地坐标,应用需要的是经纬度坐标

    2024年02月15日
    浏览(74)
  • VSCode使用MinGW编译器,配置C/C++环境

    目录 一、安装VSCode 二、安装MinGW编译器 1、配置环境变量 2、测试配置是否成功 三、配置VSCode 1、安装所需扩展 2、新建代码存放文件夹 3、添加配置文件 4、配置文件内容 (1)c_cpp_properties.json (2)launch.json (3)settings.json (4)tasks.json 测试 其他:C++程序运行 每次换了电脑

    2024年01月20日
    浏览(59)
  • Ai-WB2-32S在window下使用vs 和 msys2编译以及烧录

    应为电脑虚拟机不方便使用vs(有点卡),所以博主搜集了一些资料选择在windows下进行编译和烧录,过程虽然复杂,但是对于电脑配置不太高的用户挺友好的。 关于安装vscode博主就不献丑了,大家可以参考下面链接: vscode安装教程 关于msys2的安装,大家可以参考下面链接:

    2024年03月18日
    浏览(44)
  • windows下msys2编译64位的ffmpeg源码

    目前遇到过两次需求,需要编译ffmpeg源码。网上下载的编译好的源码里面可能不全,很多时候需要自行编译源码。本文介绍自行编译ffmpeg64位源码(32位通过相似的方式为编译成功,不知道原因) 环境: 2023.5.4下载的最新版msys2 ffmpeg 4.3.2源码 windows操作系统 首先需要msys2软件和

    2024年02月03日
    浏览(42)
  • 在win10上,配置 Rust 开发环境(使用 mingw64编译器) 和 idea 配置 Rust 插件

    2.1、编译器 mingw 与 visual studio 之间的选择 Rust 底层是依赖C/C++的 编译器,所以需要先安装C/C++编译环境。 Windows上C/C++ 的 编译器 有两种: 微软 的 Visual Studio (msvc) GNU 的 Mingw (gnu): 官网地址:https://www.mingw-w64.org/ Rust 默认使用的是 Visual Studio, 使用默认选项就能安装上,

    2024年02月02日
    浏览(52)
  • 2023最新Windows编译ffmpeg详细教程,附msys2详细安装配置教程

    msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。 类似的跨平台编译套件有: msys , cygwin , mingw 优势: 相对于 cygwin 和 msys 等环境,它支持 pacman 包管理器,这意味着你可以很方便的安装所

    2024年02月13日
    浏览(42)
  • Windows Qt C++ VTK 借助msys环境搭建

    本示例仅仅是搭建环境,后续使用还得大佬指导。 Qt  6.6.0 MinGW 64bit  借助msys2 来安装VTK 包,把*.dll 链接进来,就可以用了。 先安装VTK 包。 Package: mingw-w64-x86_64-vtk - MSYS2 Packages 执行 pacman 命令:pacman -S mingw-w64-x86_64-vtk 鉴于csdn下载要C币,把demo例子全贴出来。 *.pro文件: mai

    2024年01月20日
    浏览(46)
  • MinGW/MSYS/GCC/GNU/MSVC/Clang/LLVM都是什么

    MinGW(Minimalist GNU for Windows)是一个用于 Windows平台的开发工具集 ,它提供了一组用于编译和构建应用程序的工具和库。它的目标是在Windows环境下提供一个类Unix的开发体验。 MinGW的 核心是GNU编译器集合(GCC) ,它是一个开源的编译器套件,支持多种编程语言,如C、C++和For

    2024年02月20日
    浏览(44)
  • VSCode配置C/C++环境,编辑(VSCode)+ 编译(MinGW->GCC)+ 调试(MinGW->GBD)

      直接去官网下载并安装即可:https://code.visualstudio.com/。注意:VSCode只是编辑器,可以看代码,编辑代码,但不能编译代码。   如果说VSCode可以实现代码编辑,MinGW则可以实现代码编译和调试,其中编译功能是通过MinGW中的GCC实现的(生成一个.exe文件),调试功能则是通

    2024年02月07日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包