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

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>
            美女999久久久精品视频| 美女精品视频一区| 国内成+人亚洲| 玖玖综合伊人| 欧美成人在线免费视频| 一本到12不卡视频在线dvd| 99成人在线| 国产精品一区二区三区乱码| 久久久99爱| 嫩草成人www欧美| 亚洲色图在线视频| 亚洲欧美在线aaa| 亚洲电影欧美电影有声小说| 亚洲激情成人网| 欧美精品在线免费观看| 欧美一区二区免费| 久久天天躁狠狠躁夜夜av| 日韩亚洲国产精品| 亚洲欧美国产三级| 在线日本成人| 一本色道久久综合亚洲精品按摩| 国产日韩精品一区二区三区在线 | 国产亚洲欧美日韩一区二区| 蜜桃av一区二区三区| 欧美激情免费在线| 欧美一区亚洲一区| 你懂的视频一区二区| 亚洲欧美日韩精品久久亚洲区 | 一本大道久久精品懂色aⅴ| 午夜精品久久久久久99热| 91久久国产综合久久91精品网站| 亚洲深爱激情| 亚洲成人资源| 亚洲视频在线观看| 亚洲第一在线视频| 亚洲一区二区三区影院| 亚洲激情亚洲| 亚洲欧美日韩爽爽影院| 亚洲精品视频在线| 欧美一区二区三区成人| 一二三区精品福利视频| 久久成人18免费观看| 在线一区二区日韩| 久久精品中文| 亚洲欧美日本另类| 欧美成人久久| 久久久精品午夜少妇| 欧美日韩综合久久| 欧美成人免费全部| 国产欧美在线视频| 99精品国产在热久久婷婷| 亚洲成色精品| 午夜精品久久| 亚洲一区成人| 欧美福利一区| 久久一区二区三区av| 国产精品蜜臀在线观看| 最新国产成人av网站网址麻豆| 国产亚洲高清视频| 一区二区三区日韩| 亚洲伦理一区| 久久综合网hezyo| 久久精品国产精品亚洲精品| 欧美三级午夜理伦三级中视频| 欧美成人一区二区三区在线观看| 国产欧美综合在线| 亚洲一区二区三区激情| 99天天综合性| 欧美jizz19性欧美| 老鸭窝亚洲一区二区三区| 国产乱码精品一区二区三区五月婷 | 欧美激情久久久| 免费欧美视频| 狠狠综合久久av一区二区老牛| 亚洲一区二区三区高清 | 亚洲欧美一区在线| 亚洲欧美日韩综合aⅴ视频| 欧美精品色综合| 亚洲高清视频在线| 亚洲国产精品va在线观看黑人| 久久av资源网| 久久久91精品| 国产在线乱码一区二区三区| 亚洲欧美国产三级| 欧美有码在线视频| 国产精品日韩精品欧美在线 | 亚洲视频一区二区| 欧美精品一区二区三区蜜桃 | 亚洲美女福利视频网站| 另类图片综合电影| 欧美成人午夜激情视频| 亚洲第一黄网| 久久亚洲精选| 免费短视频成人日韩| 极品少妇一区二区三区| 亚洲欧美在线aaa| 久久国产精品99国产精| 国产欧美一区二区三区久久| 欧美亚洲免费| 久久久久久久综合色一本| 国产一区二区福利| 久久精品国产99精品国产亚洲性色 | 蜜臀av性久久久久蜜臀aⅴ| 欧美 日韩 国产一区二区在线视频 | 国产精品视频一区二区三区| 一本久久a久久精品亚洲| 亚洲一区中文| 国产精品久久网| 亚洲综合视频在线| 久久高清福利视频| 激情久久久久久| 浪潮色综合久久天堂| 欧美激情a∨在线视频播放| 亚洲人久久久| 欧美日韩的一区二区| 99在线|亚洲一区二区| 亚洲一级片在线观看| 国产农村妇女毛片精品久久麻豆 | 99视频一区二区三区| 欧美午夜电影在线观看| 亚洲无限av看| 久久精品国产免费看久久精品| 国内精品视频666| 久热精品视频在线观看一区| 亚洲国产精品日韩| 亚洲一级二级在线| 国产精品揄拍500视频| 久久激情网站| 亚洲第一区在线观看| 在线一区欧美| 国产麻豆视频精品| 久久久久久久综合日本| 亚洲电影第1页| 亚洲一级电影| 狠狠久久综合婷婷不卡| 欧美va天堂| 一区二区三区四区蜜桃| 久久久99免费视频| 亚洲人www| 国产精品二区二区三区| 久久国产精品99久久久久久老狼| 欧美国产成人在线| 亚洲一区久久| 狠狠色狠狠色综合日日tαg| 欧美激情精品久久久久久| 亚洲天堂网在线观看| 鲁鲁狠狠狠7777一区二区| 9人人澡人人爽人人精品| 国产伦精品一区二区三区视频黑人 | 欧美日韩国内| 欧美一区二区三区免费观看| 欧美激情一区二区三区高清视频 | 亚洲欧美另类在线观看| 猛男gaygay欧美视频| 制服丝袜亚洲播放| 国产在线精品自拍| 欧美日韩国产精品一区| 欧美在线欧美在线| 亚洲精品中文字| 欧美有码在线视频| 99ri日韩精品视频| 国产一区二区三区无遮挡| 欧美精品粉嫩高潮一区二区 | 国产精品免费小视频| 久久午夜精品一区二区| 在线性视频日韩欧美| 欧美www视频在线观看| 亚洲专区在线| 亚洲黄色成人网| 国产乱码精品一区二区三| 欧美第十八页| 欧美中文字幕在线| 99精品欧美一区| 免费视频最近日韩| 午夜精品一区二区三区在线视| 亚洲激情视频网| 国产一区二区福利| 国产精品超碰97尤物18| 欧美freesex8一10精品| 久久国内精品视频| 亚洲少妇中出一区| 亚洲欧洲免费视频| 美女诱惑一区| 久久精品国语| 亚洲永久免费视频| 亚洲精品女人| 伊人久久成人| 国产日韩在线看片| 欧美亚一区二区| 欧美电影在线观看| 久久久精品2019中文字幕神马| 亚洲图片欧洲图片日韩av| 亚洲国产欧美久久| 免费不卡视频| 久久精品中文字幕免费mv| 亚洲男同1069视频| 99视频在线精品国自产拍免费观看| 亚洲第一区中文99精品| 国内成人精品一区| 国产精品影院在线观看|