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

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菜鳥 閱讀(1174) 評論(0)  編輯 收藏 引用 所屬分類: TCP/IP

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一区二区三区精密机械公司| 免费毛片一区二区三区久久久| 国产亚洲欧美在线| 亚洲狠狠丁香婷婷综合久久久| 国产精品国产a级| 欧美国产免费| 国产精品一区二区你懂的| 欧美日韩亚洲系列| 日韩视频在线免费| 亚洲欧美日韩精品一区二区| 亚洲大片av| 亚洲欧美精品在线观看| 日韩亚洲精品视频| 欧美自拍丝袜亚洲| 欧美色大人视频| 美日韩精品免费观看视频| 国产精品成人播放| 亚洲国产欧美一区| 尤物九九久久国产精品的特点| 一区二区欧美日韩| 亚洲免费播放| 久久综合伊人77777蜜臀| 久久国产欧美精品| 国产精品久久久久9999| 亚洲九九爱视频| 亚洲欧洲日产国产网站| 久久精品国产99国产精品澳门| 一本色道久久加勒比88综合| 亚洲欧美视频一区| 亚洲午夜在线观看视频在线| 女仆av观看一区| 欧美顶级艳妇交换群宴| 国内精品伊人久久久久av影院| 亚洲桃花岛网站| 亚洲视频你懂的| 欧美激情一区二区三区四区| 欧美成年人视频网站欧美| 国产日韩在线视频| 欧美亚洲午夜视频在线观看| 欧美一区二区精品久久911| 国产精品爱久久久久久久| 亚洲精品在线免费观看视频| 亚洲最新合集| 欧美日韩日韩| 一区二区三区日韩精品| 亚洲校园激情| 国产精品日韩在线一区| 亚洲欧美日韩国产另类专区| 欧美一区二区三区在线| 91久久在线| 亚洲欧美日韩国产| 久久人人爽人人爽| 精品成人一区二区三区| 久久免费视频在线| 亚洲第一在线| 亚洲免费av电影| 欧美网站大全在线观看| 亚洲一区二区成人| 久久视频国产精品免费视频在线| 国内精品视频在线播放| 久久一综合视频| 日韩视频国产视频| 欧美自拍偷拍| 亚洲第一综合天堂另类专| 欧美ed2k| 亚洲小说春色综合另类电影| 久久久久久亚洲精品不卡4k岛国| 在线国产亚洲欧美| 欧美美女操人视频| 亚洲欧美日韩精品一区二区| 美女黄色成人网| 亚洲美女中文字幕| 国产精品一二三四| 久久综合一区二区| 国产精品99久久久久久久久| 久久久久99| 亚洲精品免费在线观看| 欧美色网一区二区| 久久精品国产亚洲a| 亚洲二区在线| 亚洲欧美日韩另类| 亚洲黄色成人| 国产精品你懂的| 久久美女性网| 亚洲一区三区视频在线观看 | 麻豆精品视频| 日韩系列在线| 国产亚洲精品一区二555| 欧美激情国产精品| 欧美在线网站| 一本色道久久综合亚洲二区三区 | 伊人成年综合电影网| 欧美精品在线免费播放| 欧美一区二区私人影院日本| 亚洲精品美女久久7777777| 久久精品国产精品亚洲综合| 一区二区三区 在线观看视频| 黄色小说综合网站| 国产精品劲爆视频| 欧美国产在线视频| 久久精品在线观看| 亚洲一区在线播放| 亚洲免费观看在线视频| 欧美激情网友自拍| 久久视频在线看| 欧美在线观看你懂的| 亚洲午夜精品久久久久久app| 亚洲高清三级视频| 国产一区二区三区成人欧美日韩在线观看 | 亚洲免费视频在线观看| 91久久综合亚洲鲁鲁五月天| 久久婷婷影院| 欧美在线999| 亚洲女人天堂成人av在线| 日韩视频在线观看国产| 亚洲国产精品悠悠久久琪琪| 韩国视频理论视频久久| 国产欧美在线看| 国产精品色婷婷| 国产精品黄视频| 国产精品成人免费精品自在线观看| 欧美二区在线观看| 欧美黄色免费| 欧美国产三区| 欧美连裤袜在线视频| 欧美精品午夜| 欧美激情在线狂野欧美精品| 免费在线观看成人av| 免费成人小视频| 欧美h视频在线| 欧美黄色影院| 欧美日韩国产精品一区| 欧美日韩蜜桃| 国产精品羞羞答答xxdd| 国产精品入口| 国内精品免费在线观看| 激情六月婷婷久久| 一区福利视频| 亚洲精品孕妇| 一区二区激情视频| 午夜精品久久久久久99热| 久久成人羞羞网站| 久久综合伊人77777| 欧美高清视频免费观看| 亚洲国产91| aa级大片欧美| 亚洲欧美日韩天堂| 久久九九精品| 欧美理论在线播放| 国产精品日韩一区| 在线观看精品| 9i看片成人免费高清| 亚洲影视在线| 久久色在线播放| 欧美黑人在线观看| 一本一道久久综合狠狠老精东影业| 亚洲影院在线| 久久亚洲精品伦理| 欧美日韩国产欧| 国产三级欧美三级| 亚洲免费大片| 香蕉久久夜色精品| 免费看亚洲片| 中文一区二区| 久久国产精品久久久久久电车| 美日韩丰满少妇在线观看| 欧美日韩精品免费观看视频完整| 国产精品国产三级国产专播品爱网 | 亚洲免费观看高清完整版在线观看熊 | 国产日韩欧美一区二区三区四区| 狠狠色综合网| 夜夜爽www精品| 久久精品水蜜桃av综合天堂| 欧美高清你懂得| 亚洲在线电影| 欧美激情第1页| 国产在线精品自拍| 夜夜嗨av一区二区三区免费区| 欧美在线视频全部完| 亚洲激情影院| 西西裸体人体做爰大胆久久久| 一本久久青青| 亚洲精品韩国| 亚洲欧美中文日韩在线| 欧美成人激情视频| 国产精品久久久一区二区三区| 在线观看欧美视频| 亚洲免费视频观看| 亚洲第一精品福利| 欧美一区二区三区免费观看| 欧美日韩亚洲一区二区三区在线| 国内精品久久久久影院色| 亚洲视频播放| 亚洲国产精品成人va在线观看| 欧美亚洲三级| 欧美午夜不卡影院在线观看完整版免费 | 久热精品视频在线观看| 国产欧美日韩激情| 亚洲性感美女99在线| 欧美激情国产高清|