Hallo zusammen,
Habe ein Problem beim programmieren mit sockets, verwende den dev-c++. Immer wenn ich einen socket mit "socket()" erstellen möchte zeigt der compiler den fehler "[Linker Error] undefined reference to \'socket@12\'" an. Was mache ich falsch ??? Vermute das ich irgendeine falsche kompilereinstellung habe...
Hier der Code:
#include
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
irgendwie werden die include dateien nicht dargestellt, inkludiere die dateien stdio.h und winsock.h...
Liegt an den spitzen Klammern (<>). Da Nickles.de HTML-Unterstützt mußt Du die durch die entsprechenden Entitäten < bzw. > ersetzen ;-)
Sowie jeweils zwei leerzeichen (tabs vorher in leerzeichen ändern) durch " " und "\" durch "\" ersetzen und das ganze dann zwischen <tt></tt> stellen.
Tools wie http://www.chami.com/colorizer/ gehen auch, brauchen aber u.u. eine nachbearbeitung (hier <tt> statt <pre> wegen eingefügter "<br />" beim posten und darum auch die tab-/leerzeichen-bearbeitung).
mr.escape
du must die library mitlinken, in der die socket-funktionen enthalten sind. m.a.w.: es gilt, die linker-parameter zu verändern.
WM_HOPETHISHELPS
thomas woelfer
Es ist wohl die "WS2_32.Lib" bzw. "WSock32.Lib" die nicht gelinkt wird.
mr.escape
und wie linke ich denn die datei ???
Je nach entwicklungsumgebung (editor und kommandozeile oder all-inclusive-GUI) ist eine änderung am makefile oder an einstellungen in den menüs, die das linken bzw. die verwendeten bibliotheken betreffen (das führt i.a. auch nur zu änderungen am automatisch erstellten makefile), erforderlich.
mr.escape
und wie mache ich das jetzt bei Dev-C++ ??? habe zwar schon einiges versucht, aber hab noch keine lösung gefunden...
Ich habe das mal schnell installiert (5beta):
"Project, Project Options (Alt+P), Parameters, Add Library or Object"
Dann den "lib"-ordner suchen und entweder "libwsock32.a" oder "libws2_32.a" laden (je nach dem ob "winsock.h" oder "winsock2.h" verwendet wird).
mr.escape
jo vielen dank, es funzt jetzt....
wsaData ausfüllen und WSAStartup(&wsaData) nicht vergessen...