T.T*_*.T. 35 c++ windows networking winapi visual-studio
包括winsock2.h,在项目的文件中.
获得许多错误 -
WinSock2.h(109) : error C2011: 'fd_set' : 'struct' type redefinition
与相应的 -
WinSock.h(54) : see declaration of 'fd_set'
我没有看到winsock.h包含在任何标题中.
项目中是否有任何可能导致此问题的设置?
编辑
但是,我在另一个文件中使用windows.h:http:
//cboard.cprogramming.com/windows-programming/41212-strange-msvc-winsock2-compile-error.html
编辑2
在标题中我有:
#include <winsock2.h>
#include <iphlpapi.h>
#include "\MyFiles\FileX.h" <-which #include <windows.h>
Run Code Online (Sandbox Code Playgroud)
Jim*_*som 55
我受过教育的猜测将是包含标题的顺序,即包括winsock2.h第一个(之前具有第一个含义windows.h),或者在包含之前定义WIN32_LEAN_AND_MEAN windows.h,这可以防止windows.h包含winsock v1.
#include <winsock2.h>
#include <windows.h>
Run Code Online (Sandbox Code Playgroud)
-要么-
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
Run Code Online (Sandbox Code Playgroud)
有些头痛后:我确信的#include "Winsock2.h"是之前的任何#include "windows.h"和"#include "Winsock.h"这解决了问题。
我检查递归包括,我看到的头文件,其中包括(递归地)一些#include "windows.h"和"#include "Winsock.h"和写#include "Winsock2.h"。在这个文件中,我添加#include "Winsock2.h"为第一个包含。
耐心一点,一一查看include并建立这个顺序,先 #include "Winsock2.h"然后#include "windows.h"
| 归档时间: |
|
| 查看次数: |
29576 次 |
| 最近记录: |