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

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>
            亚洲精品一区二区网址| 久久爱另类一区二区小说| 欧美日韩中文字幕在线| 麻豆精品一区二区av白丝在线| 亚洲欧美在线播放| 欧美怡红院视频| 久久久女女女女999久久| 久久精品国产999大香线蕉| 久久精品一区二区| 欧美激情一二区| 欧美肉体xxxx裸体137大胆| 国产精品一二三四区| 狠狠久久亚洲欧美| 99成人精品| 久久久999精品| 欧美国产精品劲爆| 一区二区三区免费网站| 一区二区三区精密机械公司| 欧美一区二区三区在线视频| 另类天堂视频在线观看| 国产精品久久久久久久久免费| 国产在线不卡精品| 在线视频日韩精品| 久久综合影视| 中文日韩欧美| 欧美国产日产韩国视频| 国产精品在线看| 美女国产一区| 国产精品网站在线播放| 亚洲国产成人久久综合| 欧美一级免费视频| 亚洲精品日韩激情在线电影| 久久精品二区亚洲w码| 国产精品国产三级国产专播品爱网| 激情久久久久久久| 欧美一区二区三区喷汁尤物| 亚洲国产合集| 在线一区二区三区做爰视频网站| 久久久人人人| 国产一区二区日韩精品| 亚洲一区免费在线观看| 亚洲韩国青草视频| 久久综合九色九九| 国内精品久久久久影院优| 亚洲欧美日韩一区二区| 日韩五码在线| 久久综合伊人77777尤物| 亚洲日本欧美在线| 美国三级日本三级久久99| 午夜国产不卡在线观看视频| 欧美日韩精品免费观看视频完整| 亚洲激情视频在线观看| 欧美成人久久| 久久精品男女| 国产亚洲精品成人av久久ww| 亚洲欧美日韩综合| 亚洲美女视频网| 欧美日韩成人在线视频| 99视频有精品| 亚洲美女视频网| 亚洲欧美精品| 国产欧美精品在线观看| 欧美一区二区三区的| 亚洲午夜视频在线| 国产伦精品一区二区三区高清版 | 这里只有精品丝袜| 亚洲国产精品热久久| 欧美成人资源网| 日韩视频在线观看国产| 亚洲精品免费一区二区三区| 欧美喷潮久久久xxxxx| 一区二区三区高清| 亚洲视频图片小说| 国产一区二区三区的电影 | 国产欧美在线观看| 久久久噜噜噜久噜久久| 久久亚裔精品欧美| 亚洲另类在线一区| 亚洲视频欧美视频| 国产免费观看久久| 欧美成人国产| 欧美精选在线| 欧美亚洲网站| 久热精品视频在线免费观看| 日韩视频永久免费| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 国产精品劲爆视频| 欧美一区二区三区日韩| 久久久久久穴| 日韩一区二区精品在线观看| 在线综合视频| 亚洲福利av| 亚洲影音一区| 亚洲麻豆国产自偷在线| 翔田千里一区二区| 99riav国产精品| 国产麻豆精品在线观看| 老牛国产精品一区的观看方式| 久久九九免费视频| 一区二区免费在线视频| 久久精视频免费在线久久完整在线看| 日韩视频免费在线| 久久久国产91| 亚洲欧美成人精品| 欧美激情第二页| 久久久久九九九九| 国产精品99一区二区| 蜜月aⅴ免费一区二区三区| 欧美亚洲第一区| 最新国产拍偷乱拍精品| 狠狠色狠狠色综合| 亚洲女同同性videoxma| 宅男噜噜噜66一区二区66| 另类激情亚洲| 久久人人爽国产| 国产精品欧美一区喷水| 亚洲经典视频在线观看| 国内精品视频666| 亚洲一区国产精品| 一二三四社区欧美黄| 亚洲经典三级| 日韩一区二区精品| 欧美成人dvd在线视频| 久久综合给合| 狠狠色狠狠色综合日日tαg| 午夜一级久久| 欧美亚洲三区| 国产日韩欧美综合精品| 亚洲欧美日本视频在线观看| 亚洲影视综合| 国产精品啊v在线| 亚洲精品一区二区三区婷婷月| 在线免费观看成人网| 久久久久一本一区二区青青蜜月| 久久久久久久久一区二区| 国产麻豆日韩| 久久精品视频免费播放| 老司机午夜精品视频在线观看| 黄色小说综合网站| 久久精品国产一区二区电影| 久久影视精品| 亚洲国产精品黑人久久久| 麻豆国产va免费精品高清在线| 欧美.www| 亚洲第一在线| 欧美大尺度在线观看| 亚洲激情中文1区| 中日韩高清电影网| 欧美性事在线| 欧美亚洲日本国产| 免费日韩视频| 日韩亚洲在线观看| 欧美日韩另类国产亚洲欧美一级| 99精品视频免费在线观看| 香蕉成人啪国产精品视频综合网| 国产精品jvid在线观看蜜臀| 亚洲一区二区三区777| 久久蜜桃资源一区二区老牛| 亚洲三级免费| 欧美日韩小视频| 国产亚洲精品自拍| 久久久久久九九九九| 亚洲国产日韩美| 欧美日在线观看| 国产综合香蕉五月婷在线| 欧美激情在线| 亚洲午夜久久久久久久久电影网| 国产精品欧美久久| 久久久久久久综合色一本| 欧美激情中文字幕一区二区| 亚洲一区综合| 国语自产精品视频在线看抢先版结局| 久久成人精品无人区| 欧美激情国产精品| 午夜精品在线| 亚洲精品一区二区三区av| 国产精品日韩欧美大师| 久久久久在线观看| 亚洲一二三区在线| 欧美国产视频在线观看| 亚洲午夜av在线| 亚洲国产成人精品久久久国产成人一区| 欧美日韩性生活视频| 免费黄网站欧美| 亚洲一级在线观看| 亚洲人成网站777色婷婷| 久久国产黑丝| 亚洲一区亚洲二区| 91久久夜色精品国产九色| 国产揄拍国内精品对白| 国产精品男人爽免费视频1| 欧美激情一区二区三区在线视频观看 | 红桃视频成人| 国产精品av一区二区| 欧美激情网友自拍| 男女视频一区二区| 久久蜜桃精品| 久久久高清一区二区三区| 性欧美1819性猛交| 国产精品99久久久久久久女警|