我是靠谱客的博主 彩色羊,最近开发中收集的这篇文章主要介绍sockaddr类型重定义,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这时说的sockaddr类型重定义错误, 实际上包括一大堆: sockaddr, ;sockaddr_in等等.

这是由于windows.h和winsock2.h包含的顺序而造成的错误: 正确的顺序是先包含winsock2.h再包含windows.h, 但好多情况下, 程序最前端往往都是#include <windows.h>, 所以在后面的程序中(尤其是引用别人的程序时), 就会出现这些socket相关的类型的重定义.

解决方法:
1. 先包含winsock2.h, 再包含windows.h -- 但这往往是不现实的, 或者不太容易实现
2. 正确的方法是: 如下写代码:

#define _WINSOCKAPI_

#include <windows.h>

这样写的作用实际上就是, 告诉windows.h不要包含winsock.h文件了

最后

以上就是彩色羊为你收集整理的sockaddr类型重定义的全部内容,希望文章能够帮你解决sockaddr类型重定义所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部