“AF_IPX”: 宏重定义的解决方法

来源:互联网 发布:如何优化搜索引擎 编辑:程序博客网 时间:2024/05/22 00:21

写了一个完成端口模型的小程序,编译运行跳出来一大堆重定义的错误,网上查一些资料是因为windows.h和WinSock2.h的包含关系。

将WinSock2.h写在windows.h前,问题就解决了。这两个头文件的包含关系不仅仅影响到直接包含两者的文件,还会影响到间接包含两者的情形。比如:a.h包含了windows.h,b.h包含了winsock2.h,如果在c.h中要引用a.h和b.h,那么a.h应该在b.h之前。这种顺序问题一般很难发现究竟是哪两个文件之间发生了顺序错误,所以极端解决方式就是在所有的#include前都加上#include<WinSock2.h>和#include<windows.h>。


另外,网上还看到另一种解决方式:定义宏WIN32_LEAN_AND_MEAN

属性》配置属性》c/c++》预处理器》预处理器定义:添加WIN32_LEAN_AND_MEAN

原创粉丝点击