| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2008 14:03:32
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
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
Sockets.cpp
Main.cpp
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.
This message was edited 1 time. Last update was at 16/10/2008 14:26:26
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2008 14:16:32
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2008 14:26:06
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
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!!
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/12/2008 12:30:26
|
RenatoL1962
Smalltalk
Membro desde: 19/12/2008 12:27:26
Mensagens: 1
Offline
|
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.
|
|
|
 |
|
|