Nichtaufgeloestes externes Symbol _closesocket@4
-
// sockettest.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung. // #include "stdafx.h" #include <iostream.h> #include <time.h> #include <winsock.h> void main(int argc, char *argv[]) { time_t t; int s; struct sockaddr_in a; struct hostent *h; WSADATA wsaData; if (argc != 2) { cout << "Usage: " << argv[0] << " host\n"; exit(1); } if(WSAStartup(0x101, &wsaData)) { cout << "Unable to initialize WinSock library.\n"; exit(1); } h = gethostbyname(argv[1]); if (h == NULL) { cout << "Cannot resolve hostname\n"; WSACleanup(); exit(1); } a.sin_family = AF_INET; a.sin_port = htons(37); memcpy(&(a.sin_addr.s_addr), h->h_addr, sizeof(int)); s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (s == 0) { cout << "Cannot establish connection: " << WSAGetLastError() << '\n'; WSACleanup(); exit(1); } if (connect(s, (struct sockaddr *)&a, sizeof(a))) { cout << "Cannot establish connection: " << WSAGetLastError() << '\n'; WSACleanup(); exit(1); } if (recv(s, (char *)&t, 4, 0) != 4) cout << "Unable to obtain time.\n"; else { t = ntohl(t) - 2208988800; cout << asctime(localtime(&t)); } closesocket(s); WSACleanup(); }sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _closesocket@4 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _ntohl@4 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _recv@16 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _connect@12 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _WSAGetLastError@0 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _socket@12 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _htons@4 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _WSACleanup@0 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _gethostbyname@4 sockettest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _WSAStartup@8 Debug/sockettest.exe : fatal error LNK1120: 10 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe. sockettest.exe - 11 Fehler, 0 Warnung(en)woran kann das liegen? thx
-
pixartist schrieb:
woran kann das liegen? thx
Daran, dass du Ws2_32.lib nicht zu deinem Programm gelinkt hast. Dass du das tun must, steht übrigens in der Dokumentation jeder dieser Funktionen.