Toon posts:

[c++] Fouten in cygwin's win32api library?

Pagina: 1
Acties:
  • 76 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een C++ programma van codeguru.com dat ik in Eclipse met de CDT plugin probeer te compileren. Ik heb hiervoor een zgn. 'managed make' C++ project aangemaakt. Ik gebruik cygwin voor de make/g++. Het programma gebruikt Winsock2.h

De volgende foutmeldingen in het buildproces vind ik vreemd:

In file included from ../main.cpp:48:
/usr/include/w32api/Winsock2.h:95:2: warning: #warning "fd_set and associated macros have been defined in sys/types. This may cause runtime problems with W32 sockets"
In file included from ../main.cpp:48:
/usr/include/w32api/Winsock2.h:614: error: declaration of C function `int gethostname(char*, int)' conflicts with /usr/include/sys/unistd.h:206: error: previous declaration `int gethostname(char*, unsigned int)' here

En een vriend van mij compileerde in VS6 (dus met de MS header bestanden):

main.cpp
c:\program files\microsoft visual studioold\vc98\include\winsock2.h(99) : error C2011: 'fd_set' : 'struct' type redefinition
c:\program files\microsoft visual studioold\vc98\include\winsock2.h(134) : warning C4005: 'FD_SET' : macro redefinition
c:\program files\microsoft visual studioold\vc98\include\winsock.h(83) : see previous definition of 'FD_SET'

Beiden lijken aan te geven dat er een fout zit in de include bestanden (Winsock2.h), maar dat kan ik moeilijk geloven, zeker omdat Winsock2.h volgens mij door heel veel programma's gebruikt wordt.

Verwijderd

Heb ooit dezelfde error gehad :). Een van je andere includes include al winsock.h (zonder 2 dus), waardoor het fout gaat. Oplossing: laat deze include winsock2 gebruiken (weet niet precies hoe), of makkelijker: gebruik zelf ook winsock 1.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 22:49

curry684

left part of the evil twins

Gewoon alle winsock.h includes wijzigen in winsock2.h, het is backwards compatible. Je moet ze idd niet door mekaar gaan gebruiken want dan krijg je dubbele definities van Berkeley Sockets functionaliteit (zoals de FD_SET macro's idd).

Professionele website nodig?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op vrijdag 06 mei 2005 @ 00:51:
Ik heb een C++ programma van codeguru.com
Sorry, maar hier in Programming & Webscripting geven we geen support op code van derden. Kom je er met de tip hierboven nog niet uit, neem dan contact op met de maker ervan, die zal je meer kunnen vertellen dan wij. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.