VC und winsock2.h. Please help !

kepptenkuck

Grünschnabel
Hi@all,

bekomme hie langsam einen Nervenzusammenbruch...
Ich muss ein C-Projekt nach Windows (mit VC++ 7) portieren und bekomme ständig eine riesige Liste mit vollkommen unsinnigen Fehlermeldungen, wenn ich die winsock2.h inkludiere. Aaaarrrgggghhhhhh !

Ich suche schon seit Tagen in allen möglichen Foren nach einer Antwort und hab noch kein konkretes Ergebnis. Habe jetzt aus lauter Verzweiflung ein Dummy Programm erstellt:

---------------- snip --------------------
int main( int argc, char *argv )
{
return 0;
}
---------------- snip --------------------

OK, wird übersetzt. Füge ich jetzt winsock2.h hinzu, hagelt es Fehlermeldungen ohne Ende:

---------------- snip --------------------
#include <winsock2.h>

int main( int argc, char *argv )
{
return 0;
}
---------------- snip --------------------

Jetzt frage ich mich als Nicht-VC-Kenner natürlich, was ist hier los ? Irgendwie kollidiert die winsock2 (winsock übrigens auch) mit ihren eigenen Includes... was hat MS hier verzaopft ?

Oder bin ich nur zu blöd ?

Bitte helft mir, ich beiß gleich in den Tisch...kepptenkuck.
 
Erzähl doch mal die allererste Fehlermeldung, die ausgespuckt wird. Raten ist langweilig. :)
 
Also wie gesagt, non sense:

Es werden so ziemlich alle möglichen Stellen in WinSDK Headerfiles angemosert, z.B.:
---------------------------------------------------------------
d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinUser.h(3006): error C2059: Syntaxfehler : ')'

d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinBase.h(1858): error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR'

d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinBase.h(2318): error C2061: Syntaxfehler : Bezeichner 'PULONG_PTR'

d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinNT.h(1339): error C2143: Syntaxfehler : Es fehlt ';' vor '*'

d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinBase.h(2120): error C2143: Syntaxfehler : Es fehlt ';' vor '__stdcall'

d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinUser.h(3004): error C2370: 'LPARAM' : Neudefinition; unterschiedliche Speicherklassen
d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinDef.h(171) : Siehe Deklaration von 'LPARAM'

d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinDef.h(171): error C2501: 'LPARAM' : Fehlende Speicherklasse oder Typspezifizierer

d:\Programme\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include\WinBase.h(1175): warning C4312: 'Typenumwandlung' : Konvertierung von 'LONG_PTR' in größeren Typ 'PVOID'
---------------------------------------------------------------
u.s.w. Das war nur eine kleine Auswahl.

Gruß. Kepptenkuck.
 
moin


Hast du denn die ws2_32.lib eingebunden?
Das kannst du entweder in den Projekteinstellungen machen, oder mit:
Code:
#pragma comment(lib, "ws2_32.lib")


mfg
umbrasaxum
 
Hab gerade mal windows.h statt winsock2.h eingebunden, da passiert das selbe. Was geht denn da ab beim VC, da kann doch grundsätzlich irgendwas nicht stimmen, oder ?

Mfg kepptenkuck.
 
Hast du evtl. ein neues Plattform SDK installiert, aber die Pfade für das alte nicht rausgenommen?
 
Zurück