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

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>
            一区二区日韩欧美| 久久精品一本| 一区二区日韩精品| 国产精品久久久爽爽爽麻豆色哟哟| 日韩视频专区| 欧美大色视频| 亚洲激情一区| 男女激情视频一区| 日韩天堂av| 亚洲伊人网站| 亚洲福利小视频| 91久久久久久国产精品| 欧美日韩一卡二卡| 一区二区成人精品 | 欧美大片在线看| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲男女自偷自拍| 亚洲一区日韩| 一区免费观看视频| 日韩一级不卡| 在线日韩中文| 亚洲视频你懂的| 激情欧美一区二区三区| 亚洲精品美女久久7777777| 国产精品日韩一区二区| 久久这里有精品15一区二区三区| 亚洲精品日产精品乱码不卡| 国产精品国产三级国产| 久久久99精品免费观看不卡| 欧美电影电视剧在线观看| 亚洲欧美清纯在线制服| 久久一区亚洲| 久久精品99国产精品酒店日本| 亚洲人成人一区二区三区| 国产精品一区二区三区四区| 亚洲国产精品999| 国产一区二区电影在线观看| 亚洲人成网站777色婷婷| 伊人成人在线| 亚洲夜间福利| 99视频有精品| 蜜臀av在线播放一区二区三区| 国内在线观看一区二区三区| 亚洲丰满少妇videoshd| 国模精品娜娜一二三区| 亚洲一区在线播放| 中文日韩在线视频| 欧美精品aa| 欧美激情一区二区| 尤物精品在线| 久久久久久久波多野高潮日日| 黄色成人小视频| 亚洲欧美激情一区| 午夜精品久久久久久久久久久久久 | 国产一区二区三区四区三区四| 亚洲一区二区三区高清不卡| 久久视频免费观看| 久久久另类综合| 国产精一区二区三区| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 欧美国产免费| 欧美成人精品在线| 一区二区三区中文在线观看| 欧美在线观看网站| 欧美在线free| 国产欧美一区二区三区久久人妖| 久久亚洲一区二区三区四区| 国产女主播视频一区二区| 亚洲淫性视频| 久久久久综合一区二区三区| 国内成+人亚洲| 久久一区二区三区国产精品| 欧美国产91| aa级大片欧美| 国产精品美女xx| 欧美伊人精品成人久久综合97| 在线欧美一区| 免费不卡在线观看| 亚洲精品国产日韩| 亚洲综合色丁香婷婷六月图片| 欧美亚洲三级| 免费欧美电影| 99国产成+人+综合+亚洲欧美| 中文久久乱码一区二区| 午夜精品网站| 亚洲第一精品在线| 欧美日韩国产小视频| 在线性视频日韩欧美| 久久精品国产亚洲精品| 亚洲国内高清视频| 国产精品大全| 久久婷婷蜜乳一本欲蜜臀| 亚洲国产欧美一区二区三区同亚洲 | 夜夜精品视频| 国产精品普通话对白| 久久免费一区| 99视频超级精品| 久久婷婷久久| 亚洲午夜视频在线| 激情综合视频| 欧美午夜精品久久久久免费视 | 日韩视频在线一区| 久久精品国产精品亚洲| 在线免费精品视频| 国产精品嫩草影院一区二区 | 午夜视频在线观看一区| 在线成人激情视频| 欧美日韩在线看| 久久影音先锋| 欧美亚洲午夜视频在线观看| 亚洲日本在线观看| 久久综合给合| 欧美在线观看视频一区二区| 日韩视频一区二区三区在线播放免费观看 | 欧美一二三区精品| 激情久久久久久久久久久久久久久久| 99国产精品久久| 久热这里只精品99re8久| 宅男噜噜噜66一区二区| 亚洲二区在线视频| 国产午夜精品理论片a级大结局| 亚洲手机视频| 亚洲国产精品一区二区久| 久久精品国产综合精品| 亚洲综合导航| 在线中文字幕不卡| 亚洲日本久久| 亚洲国产日日夜夜| 黄色成人av| 国内精品写真在线观看| 国产日韩av在线播放| 欧美视频在线观看免费| 欧美日韩1区2区3区| 蜜臀91精品一区二区三区| 久久久精品一品道一区| 性欧美1819sex性高清| 亚洲一二三四区| 亚洲一区欧美| 亚洲欧美成人一区二区在线电影| 亚洲欧美日本国产有色| 亚洲人人精品| 日韩视频免费看| av成人免费| 亚洲午夜精品网| 亚洲女人小视频在线观看| 亚洲女女女同性video| 香蕉久久精品日日躁夜夜躁| 亚洲欧美成人一区二区在线电影 | 国产麻豆综合| 国产欧美 在线欧美| 国产亚洲一区在线播放| 国产自产女人91一区在线观看| 久久久久久久一区二区| 久久免费国产| 欧美超级免费视 在线| 欧美精品在欧美一区二区少妇| 亚洲一区二三| 午夜久久久久久| 欧美亚洲在线观看| 久久久亚洲欧洲日产国码αv | 亚洲精品欧洲| 一区二区三区成人精品| 午夜在线精品偷拍| 久久精品国产在热久久| 欧美大片一区二区三区| 国产精品成人一区二区三区夜夜夜| 久久精品日韩| 欧美精品二区| 国产农村妇女毛片精品久久麻豆 | 免费国产自线拍一欧美视频| 免费精品视频| 一本色道久久综合精品竹菊| 午夜影院日韩| 久久av在线| 在线视频精品一区| 亚洲影视中文字幕| 久久夜色撩人精品| 亚洲精品国产系列| 夜夜夜久久久| 久久久精品午夜少妇| 欧美日韩国产一区精品一区| 国产热re99久久6国产精品| 亚洲国产高清一区| 亚洲欧美资源在线| 欧美激情自拍| 午夜电影亚洲| 欧美巨乳波霸| 一区视频在线播放| 午夜在线a亚洲v天堂网2018| 欧美成人一区二区三区| 中日韩高清电影网| 欧美国产日本| 韩国精品一区二区三区| 亚洲在线一区二区| 亚洲高清精品中出| 久久精品综合网| 国产午夜精品理论片a级大结局 | 久久av一区二区| 欧美日韩一二三四五区| 91久久午夜|