MinGW/GCC: Sockets unter Vista (undefined reference...)
-
Moin,
heute wollte ich mich mal an die Netzwerkprogrammierung unter Vista mit GCC/MinGW wagen. Jedoch habe ich ein klitze kleines Problem mit der Includierung das ich auch mit viel googlen nicht lösen konnte.
Das meldet GCC, wenn ich versuche das Programm zum compilen:
(.text+0x150): undefined reference to
WSAStartup@8' (.text+0x1ca): undefined reference to
socket@12'
(.text+0x20a): undefined reference toinet_addr@4' (.text+0x23e): undefined reference to
htons@4'
(.text+0x25f): undefined reference toconnect@12' (.text+0x2f9): undefined reference to
send@16'
(.text+0x329): undefined reference torecv@16' (.text+0x3ee): undefined reference to
closesocket@4'
collect2: ld returned 1 exit statusIncludiert habe ich:
#include <Windows.h> #include <Winsock2.h> #include <io.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h>
Und der Compileraufruf sieht so aus:
gcc -Wall -o test.exe test.c
Dass das ein Problem beim Linken & Co ist, ist mir schon so weit klar. Aber ich weis nicht warum und komme auch nicht darauf.
Mag mir jemand bei diesem Problem helfen?Schon mal vielen Dank.
Gruß,
KörperKlaus
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hallo,
Du musst die entsprechende Library angeben, ich glaube "-lws2_32", und ich würde zusätzlich zu -Wall noch folgende Parameter empfehlen -Wextra und -pedantic (d.h. noch mehr Warnungen vom Compiler
):
gcc -Wall -Wextra -pedantic -o test.exe test.c -lws2_32
Hoffe, es funktioniert unter Vista, habe nämlich nur XP...
-
Und dann vielleicht doch noch ein beherztes -O2.
-
abc.w schrieb:
Hallo,
Du musst die entsprechende Library angeben, ich glaube "-lws2_32", und ich würde zusätzlich zu -Wall noch folgende Parameter empfehlen -Wextra und -pedantic (d.h. noch mehr Warnungen vom Compiler
):
gcc -Wall -Wextra -pedantic -o test.exe test.c -lws2_32
Hoffe, es funktioniert unter Vista, habe nämlich nur XP...
Hmm, das mit dem "-lws2_32" hatte ich auch ausprobiert - jedoch half das nicht.
Da muss ich mich wohl verschrieben habenDanke euch zwei