approfitto per chiedere una cosa...
ho fatto un piccolo server in C++ che accetta delle connessioni:

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;
}
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.

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!