之前在C++Builder 運行沒問題,后來不知不覺就報錯,然后我重裝了下c++builder 之前也安裝了Indy10,但現在報錯,請大家幫我看下到底是哪出現問題了.我在工程里參考了ws2_32.lib,directores/conditionals別管理includepath 還是libraypath都已經把vcl和Indy10的目錄全都加進來了,但還是報錯,我看網上說是重定義但我應該是已經定義完了,因為以前運行沒有問題的,代碼一是套代碼沒做任何改動過。謝謝大家
[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
uj5u.com熱心網友回復:
嘗試調整頭檔案的包含順序。uj5u.com熱心網友回復:
可是確實以前編譯運行沒問題,代碼我都沒動過,而且我也試過調式順序,沒用uj5u.com熱心網友回復:
有些多次定義,洗掉一些多余的頭檔案uj5u.com熱心網友回復:
刪什么檔案呢uj5u.com熱心網友回復:
把winsock2.h 的頭檔案注釋掉試試uj5u.com熱心網友回復:
把#include <winsock2.h>這句放到最前面uj5u.com熱心網友回復:
這個說不好你試試樓上大俠的辦法
不行的話 再一步步來吧
uj5u.com熱心網友回復:
重定義了結構,結構在多個頭檔案中同時使用定義,你可以改變一下頭檔案的次序,winsock2.h放在windows.h的前面uj5u.com熱心網友回復:
重新梳理一遍就好了。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/137566.html
標籤:VCL組件使用和開發
上一篇:新人做網路爬蟲,求各位指點
下一篇:附書光碟代碼求助
