mingw32 und socket

Gast #385509
Lesenswert?

hi!

ich würde gerne mit dem mingw32 sockets in c oder c++ programmieren.
jedoch bekomme ich immer den selben linker error wenn ich simple
beispieldateien kompiliere:

ll: undefined reference to 'socket@12'

kann mir jemand bei diesem problem helfen. ich würde gerne
applikationen für win xp schreiben.

vielen dank
Gast #385511
Lesenswert?

hi

-lwsock32 funktioniert nicht. ich werde vielleicht ein bisschen
konkreter mit meinem problem:

#include <stdio.h>
#include <windows.h>
#include <winsock.h>

int main(int argc, char *argv[])
{
  int sock_id=0;

  sock_id=socket(AF_INET, SOCK_STREAM, 0);

  printf("Nur zum Testen");

  return 0;
}

dieser code steht in einem c file. wenn ich die datei kompilieren lasse
mit mingw32-gcc.exe bekomme ich folgende meldung:

"ll: undefined reference to socket@12"

habe ich vielleicht die falschen header dateien oder gibt es da noch
andere -ls die ich berücksichtigen sollte.

luki
Persönliche Seite #385514
Lesenswert?

Würde das Problem an einer nicht eingebundenen Headerdatei liegen, wäre
die Fehlermeldung eine andere.

Die Fehlermeldung aber ist eine des Linkers und besagt, daß dieser die
Funktion in keiner der verwendeten Libraries finden kann.

Möglicherweise liegt das Problem darin, daß hier eine zur verwendeten
Library inkompatible Aufrufkonvention verwendet wird - das dekorierte
Symbol socket@12 lässt erkennen, daß nicht die
C-Standard-Aufrufkonvention verwendet wird, dann nämlich hieße das
Symbol _socket.

(So jedenfalls sieht das bei MS-C-Compilern aus).

Existiert denn im LIB-Verzeichnis des Compilers überhaupt eine
Socket-Library?
#385515
Lesenswert?

Das stimmt doch gar nicht. Es kommt auf den Compiler an. Mein Compiler
für das XPS meldet bringt genau diese Meldung wenn ich eine includiert
header aus dem projekt ausbinde. Ich kann auch noch viele beispiele
nennen wo compiler veschiedenste meldungen bringen für gleiche probleme
Gast #385520
Lesenswert?

hi

also schön langsam glaub ich, dass man mit dem mingw32 gar keine
sockets programmieren kann. als anhang habe seht ihr den compiler
output. vielleicht hilfts. normalerweise verwende ich die code::blocks
ide. aber bei der sieht mans nicht so schön. das programm ist das
gleiche geblieben.
Angehängte Dateien:
Persönliche Seite #385521
Lesenswert?

Dein Screenshot zeigt, daß Du offensichtlich keinen der Dir hier
gegebenen Ratschläge auch nur gelesen zu haben scheinst - wo bitte ist
in Deiner Kommandozeile des gcc-Aufrufs der Hinweis, daß mit der
Library zu linken ist, die die Funktion socket enthält?


Desweiteren kann man den Inhalt von Konsolenfenstern auch als TEXT in
die Zwischenablage kopieren ... da ist kein Screenshot für
erforderlich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren