青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Where there is a dream ,there is hope

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  64 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

常用鏈接

留言簿(1)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

今天寫一個小程序出現了這種問題:
>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: “AF_IPX”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(460) : 參見“AF_IPX”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(127) : warning C4005: “AF_MAX”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(479) : 參見“AF_MAX”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(163) : warning C4005: “SO_DONTLINGER”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(402) : 參見“SO_DONTLINGER”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(206) : error C2011: “sockaddr”: “struct”類型重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(485) : 參見“sockaddr”的聲明
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2143: 語法錯誤 : 缺少“}”(在“常量”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2143: 語法錯誤 : 缺少“;”(在“常量”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2059: 語法錯誤 : “常量”
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(437) : error C2143: 語法錯誤 : 缺少“;”(在“}”的前面)
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(437) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(437) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(518) : warning C4005: “IN_CLASSA”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(287) : 參見“IN_CLASSA”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(524) : warning C4005: “IN_CLASSB”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(293) : 參見“IN_CLASSB”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(530) : warning C4005: “IN_CLASSC”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(299) : 參見“IN_CLASSC”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(541) : warning C4005: “INADDR_ANY”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(304) : 參見“INADDR_ANY”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(543) : warning C4005: “INADDR_BROADCAST”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(306) : 參見“INADDR_BROADCAST”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(577) : error C2011: “sockaddr_in”: “struct”類型重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(312) : 參見“sockaddr_in”的聲明
1>c:\program files\microsoft sdks\windows\v6.0a\include\winsock2.h(132) : error C2011: “fd_set”: “struct”類型重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(68) : 參見“fd_set”的聲明
1>c:\program files\microsoft sdks\windows\v6.0a\include\winsock2.h(167) : warning C4005: “FD_SET”: 宏重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(102) : 參見“FD_SET”的前一個定義
1>c:\program files\microsoft sdks\windows\v6.0a\include\winsock2.h(176) : error C2011: “timeval”: “struct”類型重定義
1>        c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(111) : 參見“timeval”的聲明


好久沒寫TCP的程序了,都忘記是怎么回事了,隱約記得解決方法很簡單。搜索了一下,記錄下來:

引用鏈接:http://www.cnblogs.com/tonyyang132/archive/2009/10/14/1583110.html

初看到如此一堆的錯誤委實不爽,但是只要將二者的包含順序調換一下問題就會解決,原因參見下面那個鏈接。另外,上述問題不僅影響直接包含二者的文件,還影響間接包含的情形。比如,a.h包含了windows.h,b.h包含了winsock2.h,如果在c.h當中要引用a.h和b.h,那么正確的順序應當是b.h先于a.h。當然,實踐當中有時很難找到究竟是哪兩個文件順序不對了,終極的解決辦法是,在當前工程(就是編譯不過的這個工程)所有include語句最前面加上#include <winsock2.h>和#include<windows.h>,世界清靜了。


關于WINSOCK.H與winsock2.h中的重定義解決辦法分析
問題描述:在 VC 6.0中使用socket相關的函數時沒有什么問題,可是到了.net下就有以下類似的錯誤,
[C++ Error] winsock2.h(109): E2238 Multiple declaration for 'fd_set'
[C++ Error] winsock.h(54): E2344 Earlier declaration of 'fd_set'
[C++ Error] winsock2.h(112): E2146 Need an identifier to declare
[C++ Warning] winsock2.h(144): W8017 Redefinition of 'FD_SET' is not identical
[C++ Error] winsock2.h(153): E2238 Multiple declaration for 'timeval'
[C++ Error] winsock.h(97): E2344 Earlier declaration of 'timeval'
[C++ Error] winsock2.h(209): E2238 Multiple declaration for 'hostent'
[C++ Error] winsock.h(153): E2344 Earlier declaration of 'hostent'
[C++ Error] winsock2.h(222): E2238 Multiple declaration for 'netent'
[C++ Error] winsock.h(166): E2344 Earlier declaration of 'netent'
[C++ Error] winsock2.h(229): E2238 Multiple declaration for 'servent'
[C++ Error] winsock.h(173): E2344 Earlier declaration of 'servent'
[C++ Error] winsock2.h(241): E2238 Multiple declaration for 'protoent'
[C++ Error] winsock.h(185): E2344 Earlier declaration of 'protoent'
[C++ Error] winsock2.h(327): E2238 Multiple declaration for 'in_addr'
[C++ Error] winsock.h(269): E2344 Earlier declaration of 'in_addr'
[C++ Error] winsock2.h(385): E2238 Multiple declaration for 'sockaddr_in'
[C++ Error] winsock.h(319): E2344 Earlier declaration of 'sockaddr_in'
[C++ Error] winsock2.h(395): E2238 Multiple declaration for 'WSAData'
[C++ Error] winsock.h(329): E2344 Earlier declaration of 'WSAData'
[C++ Error] winsock2.h(411): E2146 Need an identifier to declare
[C++ Warning] winsock2.h(455): W8017 Redefinition of 'SO_DONTLINGER' is not identical
[C++ Warning] winsock2.h(512): W8017 Redefinition of 'AF_IPX' is not identical
[C++ Warning] winsock2.h(540): W8017 Redefinition of 'AF_MAX' is not identical
[C++ Error] winsock2.h(546): E2238 Multiple declaration for 'sockaddr'
[C++ Error] winsock.h(492): E2344 Earlier declaration of 'sockaddr'
[C++ Error] winsock2.h(586): E2238 Multiple declaration for 'sockproto'
[C++ Error] winsock.h(501): E2344 Earlier declaration of 'sockproto'
[C++ Error] winsock2.h(625): E2238 Multiple declaration for 'linger'
[C++ Error] winsock2.h(625): E2228 Too many error or warning messages

Solution:

This problem arises because windows.h (at least, that version of it) includes not winsock2.h but winsock.h; sadly when Microsoft wrote winsock2.h they chose neither to change windows.h to include winsock2.h, which replaces winsock.h, nor to include windows.h from winsock2.h and then add the definitions for the new Winsock 2 API methods & structures (this might seem reasonable since Winsock 2 does, strictly speaking, replace Winsock 1, but since the API must be fully backwards-compatible the distinction is somewhat meaningless and there's no real benefit to making winsock2.h standalone).

The fix is thankfully simple: always "#include <winsock2.h>" before windows.h.

However, you must remember that if windows.h has been included by (for example) a higher-level header file that is subsequently including your header file, it's too late - so you must make sure that the higher-level header files respect this convention also.

It is however rarely necessary to modify the header files of libraries or other code modules you are using just because you include their header files, and their header files include windows.h - you can just include winsock2.h before you include the library's header files.


在包含jrtplib有時候我也遇到這個問題,解決方法與之相同。一句話,在#include<windows.h>之前 #include <winsock2.h> 問題就可以解決。

問題描述]
   在包含了<windows.h>以及<winsock2.h>的工程中,編譯有時會出現如
下錯誤:

     error C2011: 'fd_set' : 'struct' type redefinition
     error C2011: 'timeval' : 'struct' type redefinition
                     ....
     error C2375: 'accept' : redefinition; different linkage
[原因分析]
   主要原因是因為<windows.h>中包含了<winsock.h>頭文件,由于其版
本的不同,導致出
現上述的錯誤。<windows.h>中相關代碼如下:
               #ifndef WIN32_LEAN_AND_MEAN
               #include <cderr.h>
               #include <dde.h>
               #include <ddeml.h>
               ........
                #ifndef _MAC
               #include <winperf.h>
               #include <winsock.h>
               #endif
                .......

               #include <commdlg.h>
               #endif
               #endif
[解決方案]
    由以上代碼可以看出如果在沒有定義WIN32_LEAN_AND_MEAN宏
的大前
提下windows.h有可能包含winsock.h 頭文件,因此我們得出一個很簡單
的解決方
法就是在包含<windows.h>之前定義WIN32_LEAN_AND_MEAN宏,如
下所示:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

posted on 2010-12-07 15:30 IT菜鳥 閱讀(1170) 評論(0)  編輯 收藏 引用 所屬分類: TCP/IP
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美一级视频一区二区| 一本色道久久综合精品竹菊 | 欧美日韩国产成人在线| 欧美中文字幕久久| 欧美影院午夜播放| 久久九九免费| 欧美高清视频一区二区| 欧美日韩精品一区二区在线播放| 欧美特黄一区| 一区二区在线观看视频在线观看| 亚洲国产高清一区| 亚洲午夜激情| 老司机精品视频网站| 欧美黄色一区| 亚洲午夜一二三区视频| 久久精品视频在线免费观看| 欧美丰满少妇xxxbbb| 国产精品啊啊啊| 一区二区三区自拍| 亚洲午夜久久久久久久久电影网| 亚洲欧美日韩中文播放| 久久综合久久综合久久| 亚洲美女黄色| 久久国产精品久久w女人spa| 欧美激情第六页| 国产自产2019最新不卡| 一本色道88久久加勒比精品| 久久国产精品久久国产精品| 亚洲黄一区二区三区| 亚洲作爱视频| 美女视频黄 久久| 国产视频在线观看一区二区三区 | 欧美电影打屁股sp| 中文在线不卡视频| 免费不卡中文字幕视频| 国产精品伦子伦免费视频| 亚洲二区在线观看| 久久激情视频| 中文精品一区二区三区| 欧美激情一二区| 亚洲第一福利社区| 日韩视频永久免费| 久久精品一本久久99精品| 欧美高清在线| 欧美伊人久久久久久久久影院| 欧美日本在线播放| 亚洲激情第一页| 久久综合激情| 久久国产精品久久久久久久久久| 国产精品videossex久久发布| 亚洲欧洲精品一区二区三区| 久久精品在线播放| 欧美一区二区三区免费视频| 在线亚洲欧美| 亚洲精品一区二| 欧美福利视频网站| 亚洲欧美清纯在线制服| 欧美日本免费一区二区三区| 亚洲国产成人高清精品| 久久久国产精品亚洲一区| 一区二区三区欧美日韩| 欧美激情第三页| 亚洲人成人99网站| 免费欧美电影| 美玉足脚交一区二区三区图片| 国产综合欧美在线看| 久久久五月天| 久久人人97超碰国产公开结果| 一区在线视频观看| 久久另类ts人妖一区二区| 欧美久久久久免费| 一区二区三区久久| 夜夜嗨一区二区三区| 欧美视频一区二区| 亚洲欧美日本国产专区一区| 亚洲视频成人| 韩国成人精品a∨在线观看| 久久久久久久久岛国免费| 欧美在线观看网站| 伊人成人在线| 亚洲精选视频免费看| 国产精品电影观看| 欧美自拍丝袜亚洲| 久久在线精品| 日韩网站在线看片你懂的| 亚洲免费不卡| 国产亚洲a∨片在线观看| 欧美成人蜜桃| 欧美日韩中文字幕精品| 久久国产精品99精品国产| 老司机免费视频一区二区| 99精品视频免费在线观看| 亚洲一区影音先锋| 一区二区亚洲精品| 夜夜嗨av一区二区三区免费区| 国产精品中文在线| 亚洲第一福利在线观看| 欧美午夜激情小视频| 免费观看久久久4p| 国产精品另类一区| 亚洲高清不卡| 国产视频在线观看一区| 最新国产成人在线观看| 国产欧美日韩视频一区二区| 亚洲二区在线视频| 国内久久视频| 亚洲网址在线| 99re6热只有精品免费观看| 久久久久久久久岛国免费| 久久久久99| 欧美搞黄网站| 久久久久久久久蜜桃| 欧美私人啪啪vps| 亚洲国产精品毛片| 在线成人av.com| 亚洲欧美在线aaa| 一本色道久久综合亚洲精品婷婷| 久久高清福利视频| 欧美一区二区三区的| 欧美日韩一区在线视频| 欧美大尺度在线观看| 国产亚洲欧美激情| 亚洲综合国产| 性欧美videos另类喷潮| 欧美激情一区二区久久久| 久久综合久久久| 国产一区再线| 欧美一区二区三区四区在线| 亚洲欧美亚洲| 欧美性久久久| 在线视频一区观看| 亚洲天堂网站在线观看视频| 欧美—级a级欧美特级ar全黄| 蜜桃久久av一区| 伊人久久久大香线蕉综合直播| 欧美影院视频| 久久亚洲综合| 亚洲大片免费看| 久久亚洲一区二区| 欧美国产精品专区| 亚洲黄色影院| 欧美激情一区二区三区成人| 亚洲风情亚aⅴ在线发布| 最新高清无码专区| 欧美国产精品人人做人人爱| 亚洲激情综合| 亚洲免费影院| 国内精品视频一区| 免播放器亚洲| 亚洲伦理久久| 午夜久久99| 狠狠色丁香婷婷综合| 久久久噜久噜久久综合| 欧美成人中文| 亚洲婷婷免费| 国内自拍亚洲| 欧美激情视频一区二区三区免费 | 久久影院午夜论| 在线成人激情视频| 欧美福利一区| 亚洲欧美在线播放| 欧美激情小视频| 亚洲在线免费| 激情综合色综合久久综合| 欧美成年视频| 亚洲一区二区综合| 欧美 日韩 国产一区二区在线视频 | 久久亚洲捆绑美女| 日韩午夜视频在线观看| 国产一区二区在线观看免费| 欧美激情aⅴ一区二区三区| a91a精品视频在线观看| 国产女主播一区二区| 裸体女人亚洲精品一区| 宅男噜噜噜66一区二区66| 老色鬼久久亚洲一区二区| 一区二区三区欧美成人| 国产午夜精品在线| 欧美理论视频| 久久理论片午夜琪琪电影网| 99精品欧美| 亚洲国产成人91精品| 欧美亚洲免费高清在线观看| 亚洲精品久久久久久一区二区| 国产精品高清在线| 欧美激情国产精品| 欧美在线国产| 亚洲网在线观看| 亚洲激情另类| 免费日韩av电影| 久久精品国产亚洲aⅴ| 国产精品99久久久久久白浆小说 | 欧美一级大片在线观看| 亚洲日本va午夜在线电影| 国产在线不卡精品| 国产精品一级久久久| 欧美日韩国产精品成人| 欧美成人有码| 欧美成人dvd在线视频| 久久免费视频在线观看|