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

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菜鳥 閱讀(1171) 評論(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>
            先锋影音国产精品| 悠悠资源网亚洲青| 欧美一区二区三区日韩| 亚洲一区二区视频在线| 在线综合亚洲欧美在线视频| 99在线精品免费视频九九视| 日韩视频免费在线观看| 在线视频免费在线观看一区二区| 亚洲视频欧美在线| 久久精品视频网| 欧美黄色aa电影| 国产精品啊啊啊| 狠狠做深爱婷婷久久综合一区| 在线精品高清中文字幕| 一本色道久久综合亚洲精品按摩 | 久久偷窥视频| 欧美激情bt| 99国产精品国产精品久久| 一区二区三区国产精华| 日韩亚洲欧美在线观看| 亚洲视屏在线播放| 久久久久国产精品www| 欧美成人一二三| 一本大道久久a久久综合婷婷 | 在线观看精品一区| 一区二区成人精品| 久久久免费观看视频| 亚洲国产天堂网精品网站| 9色国产精品| 久久久国产精彩视频美女艺术照福利| 欧美激情免费在线| 激情久久久久久久久久久久久久久久| 日韩亚洲欧美高清| 美女91精品| 亚洲综合成人在线| 欧美日韩国产专区| 91久久精品国产91久久| 久久国产视频网站| 一本一本大道香蕉久在线精品| 久久久国产视频91| 国产欧美日韩高清| 亚洲欧美日韩在线播放| 亚洲高清视频一区| 久久久综合精品| 国产亚洲欧美在线| 欧美一区二区三区精品电影| 亚洲国产欧美一区二区三区同亚洲 | 欧美午夜片在线免费观看| 亚洲国产一区二区三区青草影视| 亚洲视频精选| 亚洲欧洲视频在线| 免费的成人av| 亚洲高清色综合| 免费美女久久99| 久久精品99国产精品| 国产麻豆精品久久一二三| 亚洲一区精彩视频| 一区二区毛片| 国产精品伦子伦免费视频| 亚洲最新中文字幕| 亚洲精品日韩欧美| 欧美巨乳在线| 中文一区二区| 亚洲午夜未删减在线观看| 欧美视频一区二| 亚洲一区尤物| 亚洲欧美日韩精品久久久| 国产精品日韩欧美大师| 新67194成人永久网站| 午夜精品在线观看| 欧美色精品天天在线观看视频 | 亚洲第一中文字幕| 蜜臀久久99精品久久久久久9| 久久精品首页| 在线日韩电影| 亚洲激情成人网| 欧美婷婷六月丁香综合色| 亚洲在线中文字幕| 欧美一区二区啪啪| 在线免费观看日本一区| 欧美福利视频网站| 欧美日韩黄色大片| 欧美中文字幕第一页| 久久精品理论片| 亚洲精品一区二区三区不| 99热精品在线观看| 国产亚洲精品自拍| 亚洲国内欧美| 国产精品一卡| 欧美顶级少妇做爰| 欧美亚洲动漫精品| 久久久青草青青国产亚洲免观| 久久人体大胆视频| 亚洲一区制服诱惑| 久久久夜精品| 性感少妇一区| 欧美精品网站| 久久久久久久97| 欧美日韩精品一区视频| 欧美一区二区三区在线| 久久综合久久综合久久综合| 一本色道久久综合亚洲二区三区| 亚洲综合社区| 亚洲九九精品| 久久久久久噜噜噜久久久精品| 一本色道久久综合亚洲精品不| 欧美在线免费播放| 亚洲无限av看| 另类天堂视频在线观看| 午夜视频一区二区| 欧美成人综合一区| 久久久一二三| 国产精品一区2区| 亚洲日韩成人| 亚洲国产精品欧美一二99| 亚洲欧美日韩综合国产aⅴ| 一区二区精品在线| 欧美成人综合在线| 女生裸体视频一区二区三区| 国产日产欧美a一级在线| 日韩视频一区二区三区| 91久久精品www人人做人人爽| 欧美一区永久视频免费观看| 在线亚洲欧美专区二区| 美女视频黄免费的久久| 免费91麻豆精品国产自产在线观看| 国产精品久久夜| 一区二区欧美在线| 亚洲另类春色国产| 欧美多人爱爱视频网站| 欧美激情第五页| 亚洲激情一区二区| 欧美v国产在线一区二区三区| 久久久久久久欧美精品| 亚洲一区二区网站| 欧美~级网站不卡| 亚洲日本一区二区三区| 久久爱www久久做| 欧美一级在线播放| 国产精品福利网| 99精品热视频只有精品10| 亚洲免费观看在线观看| 久久在线免费观看视频| 久久五月激情| 在线 亚洲欧美在线综合一区| 欧美中文字幕| 久久频这里精品99香蕉| 影音先锋久久精品| 蜜臀av性久久久久蜜臀aⅴ| 欧美国产另类| 99国产精品国产精品久久 | 久久久久免费视频| 好吊视频一区二区三区四区| 久久国产精品一区二区| 欧美v亚洲v综合ⅴ国产v| 91久久精品网| 欧美视频第二页| 翔田千里一区二区| 欧美大成色www永久网站婷| 亚洲精品一区在线观看| 欧美三级网址| 久久久精品日韩欧美| 亚洲精品日本| 久久精品国产免费观看| 亚洲精品免费一二三区| 国产精品国产a级| 欧美亚洲一级片| 欧美激情第五页| 午夜精品亚洲一区二区三区嫩草| 国产日本精品| 欧美高清视频一区二区| 在线一区二区日韩| 美女主播一区| 亚洲伊人观看| 亚洲成色最大综合在线| 欧美视频在线免费看| 久久精品国产亚洲aⅴ| 亚洲精品在线免费| 久久网站热最新地址| 亚洲天堂成人| 亚洲国产片色| 国产尤物精品| 国产精品久久久久久久久免费| 久久福利毛片| 亚洲一区二区在线看| 欧美国产高清| 久久久久久一区| 亚洲欧美日韩一区二区三区在线| 亚洲第一中文字幕| 国产亚洲视频在线| 欧美亚州一区二区三区| 欧美不卡在线视频| 久久久久久久一区| 亚洲综合电影| 9l视频自拍蝌蚪9l视频成人| 欧美成年人网站| 久久一区亚洲| 久久久亚洲一区| 久久精品视频va| 午夜免费日韩视频|