[RESOLVIDO]Configurar projeto C++ no eclipse

Estou tentando (já a um bom tempo) configurar um projeto c++ no eclipse, o projeto funciona para coisas básicas que não precisam de "arquivos headers" externos porém tenho de fazer um trabalho pra facul que usa o winsock.h e quando eu vou compilar o projeto o mesmo não acha os métodos.

O que eu já tentei fazer:
já fui nas propriedades do projeto e adicionei a pasta que contém o winsock.h Settings->Tool setting->GCC c+±> directories Não funcionou!
já fui nas propriedades do projeto e adicionei a lib winsock.h (com o .h e sem o .h) em Settings->Tool setting->MinGW libraries Não funcionou!

Estou usando eclipse ganymede, a última versão do CDT e o MinGW como compilador.
Os arquivos do projeto são:

Socket.h

#include <winsock.h>

SOCKET ConnectToTheServerIP ( char *serverName, unsigned short portNum );

void SendMessageIP ( SOCKET sock, char *buf, int numBytes );

void ReceiveMessageIP ( SOCKET sock, char *buf, int numBytes );

BOOL IsThereAMsg ( SOCKET sock );

SOCKET CreateServerIP ( unsigned short portNum );

int AcceptNewClientIP ( SOCKET serverSocket, SOCKET &newSocket );

int CheckNewClient ( SOCKET serverSocketIP, SOCKET &S);

void CloseSocket (SOCKET clientSock);

Sockets.cpp

#include "Sockets.h"
#include <iostream>

using namespace std;

//implementa os métodos de Sockets.h

Main.cpp

#include <iostream>
#include "Sockets.h"
using namespace std;

int main() {
//irá chamar métodos do Socket.h

O engraçado é que dando um ctrl + espaço o eclipse acha as funções que estão em winsock.h, o problema ocorre quando eu vou compilar o arquivo.

Eis o log de erros ao tentar compilar o aquivo:
**** Build of configuration Debug for project Trocar Arquivo Socket ****

**** Internal Builder is used for build ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -osrc\Sockets.o …\src\Sockets.cpp
…\src\Sockets.cpp: In function ‘void SendMessageIP(SOCKET, char*, int)’:
…\src\Sockets.cpp:82: warning: unused variable ‘result’
g++ -oTrocarArquivoSocket.exe src\Sockets.o src\Main.o
src\Sockets.o: In function _Z11CloseSocketj': D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:243: undefined reference to_closesocket@4’
src\Sockets.o: In function _Z17AcceptNewClientIPjRj': D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:204: undefined reference to_accept@12’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:207: undefined reference to _closesocket@4' src\Sockets.o: In function_Z14CreateServerIPt’:
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:148: undefined reference to _WSAStartup@8' D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:162: undefined reference to_gethostname@8’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:167: undefined reference to _gethostbyname@4' D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:172: undefined reference to_socket@12’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:177: undefined reference to _htons@4' D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:180: undefined reference to_bind@12’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:181: undefined reference to _closesocket@4' D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:185: undefined reference to_listen@8’
src\Sockets.o: In function _Z11IsThereAMsgj': D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:119: undefined reference to_select@20’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:120: undefined reference to ___WSAFDIsSet@8' src\Sockets.o: In function_Z16ReceiveMessageIPjPci’:
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:97: undefined reference to _recv@16' src\Sockets.o: In function_Z13SendMessageIPjPci’:
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:82: undefined reference to _send@16' src\Sockets.o: In function_Z20ConnectToTheServerIPPct’:
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:28: undefined reference to _WSAStartup@8' D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:42: undefined reference to_gethostname@8’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:47: undefined reference to _gethostbyname@4' D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:55: undefined reference to_htons@4’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:58: undefined reference to _socket@12' D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/../src/Sockets.cpp:63: undefined reference to_connect@12’
D:\workspace\Eclipse\Programação de Software Básico\Trocar Arquivo Socket\Debug/…/src/Sockets.cpp:64: undefined reference to `_closesocket@4’
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Time consumed: 2234 ms.

Hum… sou completamente ignorante quanto ao MinGW, então eu gostaria de saber se podemos usar arquivos .lib (formato Microsoft) ou se só podemos usar arquivos .a (formato Unix/Linux) para poder termos acesso às funções do Winsock. No caso acho que - se fosse Microsoft - os métodos de Winsock.h estariam em wsock2_32.lib ou coisa parecida.

Se não me engano, você tem de usar tanto o Winsock.h quanto algum arquivo .a que deve vir com a distribuição do MinGW, não aquele do MS Platform SDK. Mas isso é apenas um chute e realmente não sei o que é que devemos fazer.

Muito obrigo thingol!!!

Realmente eu tinha que importar um arquivo .a que é o libwsock32.a
Tem que colocar apenas wsock32 (tem que tirar o lib e o .a) e:
Settings->Tool setting->MinGW->libraries

flw!!

Ola Ivo, estou com o mesmo problema que vc teve com socket, CDT e MinGw, mas não entendi como vc resolveu, sou novo no eclipse.
Obrigado.