approfitto per chiedere una cosa...
ho fatto un piccolo server in C++ che accetta delle connessioni:
il compilatore non mi dà alcun problema, solo che mi dà 11 errori di linker perchè il riferimento alle funzioni bind(), socket(), accept() ...etc non è definito.codice:#include <iostream> #include <winsock.h> using namespace std; int main() { // Inizializzazione Winsock. WSADATA wsaData; int iResult = WSAStartup(MAKEWORD(2,2), &wsaData); if (iResult != NO_ERROR) printf("Errore in WSAStartup()\n"); // Creaizone della socket con i relativi parametri int ListenSocket; ListenSocket = socket(AF_INET, SOCK_STREAM, 0); if (ListenSocket == INVALID_SOCKET) { printf("Errore nella chiamata socket(): %ld\n", WSAGetLastError()); WSACleanup(); exit(1); } sockaddr_in service; service.sin_family = AF_INET; service.sin_addr.s_addr = inet_addr("127.0.0.1"); service.sin_port = htons(27015); if (bind( ListenSocket, (SOCKADDR*) &service, sizeof(service)) == SOCKET_ERROR) { printf("bind() failed.\n"); closesocket(ListenSocket); exit(1); } if (listen( ListenSocket, 15 ) == SOCKET_ERROR) printf("Error listening on socket.\n"); int AcceptSocket; printf("Waiting for client to connect...\n"); while(1) { AcceptSocket = SOCKET_ERROR; while( AcceptSocket == SOCKET_ERROR ) { AcceptSocket = accept( ListenSocket, NULL, NULL ); } printf("Client connected.\n"); ListenSocket = AcceptSocket; break; } WSACleanup(); return 0; }
questo tipo di errore lo dà programmando su DevC++, su MS Visual C++ e anche su .NET
tra l'altro questo codice l'ho trovato anche sulla libreria msdn, e in gran parte coincide con quello che ho su alcuni testi.
da cosa è causato questo strano errore di linker ???
grazie ciao!
![]()


Rispondi quotando