Makefile und -lsocket
-
Moin moin!
Habe folgendes Problem: Ich habe ein paar C-Dateien und Header und versuche sie nun mittels Makefile zusammenzuführen. Auf einer anderen Workstation unter Unix hat das tadellos funktioniert. Aber bei mir zu Hause unter Linux (Suse, 8.1) bekomm ich die Nachricht:
makefile:17: Warnung: Überschreibe die Kommandos für das Target »tcp«
makefile:13: Warnung: Ignoriere alte Kommandos für das Target »tcp«
cc -g -lsocket -lnsl tcpclient.c -o tcpclient
/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/bin/ld: cannot find -lsocket
collect2: ld returned 1 exit status
make: *** [tcpclient] Fehler 1Daraus folgere ich mal, das sein Problem ist, dass er lsocket nicht kennt. Leider weiß ich weder was das ist, noch woher ich das bekommen kann.
Kann mir ja jemand irgendwie weiterhelfen?Danke.
P.S. Sorry, dass ich nur als Gast hier bin, aber konnte mich eben nicht einloggen :-(. Und bin etwas in Eile.
-
Ich kann mich irren, aber ich glaube das ist der ganze Standard-Netzwerkkram wie socket(), accept() usw. Das ist unter Linux (bzw. mit der GNU libc) schon in der Standardlibrary. Also lass das -lsocket einfach mal testweise weg.
-
Der Parameter -l bindet eine Library ein. Mir ist allerdings keine eigentliche Library unter Linux bekannt, die socket heißt, die entsprechenden Socket Funktionen sind nämlich im Kernel implementiert. Man braucht da nur noch die Header Dateien einzubinden.
Einfach mal das Programm ohne -lsocket kompilieren...