2012-07-15 28 views
10

Visual C++ 2010'da bir proje derliyorum, ancak bazı Winsock yeniden tanımlamalarıyla ilgili sorunlarım var.Winsock yeniden tanımlama hataları

syntax error : identifier 'SOCKADDR_STORAGE' 

Ama winsock veya Winsock2 veya ws2tcpip eklerseniz ben bunlar gibi birçok hatalar olsun: Her şeyden

Önce olsun

error C2011: 'sockaddr' : 'struct' type redefinition 
error C2011: 'WSAData' : 'struct' type redefinition 
error C2011: 'linger' : 'struct' type redefinition 
+0

Bir kod örneği gönderir misiniz? Ayrıca #define WIN32_LEAN_AND_MEAN' – ctor

+0

eklemeye çalışın. Artan modülün '# include' bloğunu görelim. – wallyk

+0

Herhangi bir süslü içeriğim yok, bu // # içerir #include // # include Bunları birkaç .cpp dosyasına eklemek zorundayım. – Cooker

cevap

20

Senin sorunun Windows.h ekleyerek, olmasıdır Ayrıca zaten winsock.h dahil. Burada ise senin sorunun Windows.h

ile gelir ekstra bir sürü şey dahil dan derleyici durdurmak içerir sizin Windows.h önce #define WIN32_LEAN_AND_MEAN kullanarak winsock.h

içinde tanımların bazı yeniden tanımlamak dener winsock2.h veya ws2tcpip.h dahil olarak doğar