Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: NikNitro! en 20 Junio 2014, 12:45 pm



Título: Error extraño al compilar en debian[Solucionado]
Publicado por: NikNitro! en 20 Junio 2014, 12:45 pm
Buenas, estoy haciendo un servidor de eco en c++ para linux y (cuando al fin parece que no quedan errores) me sale esto (lo cual no se que significa). Totalmente deprimente T_T

Código:
niknitrodeb@debian:~$ gcc '/var/run/vmblock-fuse/blockdir/2d4962c9/EchoServer.cpp' 
/tmp/ccLr8loR.o: In function `__static_initialization_and_destruction_0(int, int)':
EchoServer.cpp:(.text+0x11c): undefined reference to `std::ios_base::Init::Init()'
EchoServer.cpp:(.text+0x121): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccLr8loR.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

Aquí teneis mi código:
Código
  1. #include <iostream>
  2. #include <sys/socket.h>
  3. #include <unistd.h>
  4.  
  5. //Otros includes:
  6. #include<netinet/in.h>
  7. #include<arpa/inet.h>
  8. #include<netdb.h>
  9. #include<string.h>
  10.  
  11. using namespace std;
  12.  
  13. int listen_socket, cliente;
  14. struct sockaddr_in clientinfo, server;
  15. int rtn;
  16. char buffer[256];
  17. const int PUERTO = 5050;
  18.  
  19.  
  20. int main() {
  21.  
  22. //SOCKET
  23. listen_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  24.  
  25. server.sin_family = PF_INET;
  26. server.sin_addr.s_addr = INADDR_ANY;
  27. server.sin_port = htons(PUERTO);
  28. //BIND
  29. rtn = bind(listen_socket, (struct sockaddr*) (&server), (int) sizeof(server));
  30. //LISTEN
  31. listen(listen_socket, 1); //1 es el maximo de conexiones a la vez
  32. //ACCEPT
  33. cliente = accept(listen_socket, (struct sockaddr*) (&server), (socklen_t*) (sizeof(struct sockaddr_in)));// No estoy seguro de que sea socklen_t*. En las tansparencias pone int
  34. //READ
  35. // rtn = read(listen_socket, (*buffer), sizeof(buffer));
  36. rtn = recv(cliente, buffer, 256, 0);
  37. while (true) {
  38. //WRITE
  39. // rtn = write(listen_socket, (*buffer), sizeof(buffer));
  40. write(cliente, buffer, strlen(buffer));
  41. //READ
  42. // rtn = read(listen_socket, (*buffer), sizeof(buffer));
  43. rtn = recv(cliente, buffer, 256, 0);
  44. // printf("Bucle");
  45. }
  46.  
  47. return 0;
  48. }
  49.  
  50.  

Alguna ayudita? :P

Saludos;)

EDITO: Puede ser que debiera usar g++ en vez de gcc??  ;D


Título: Re: Error extraño al compilar en debian
Publicado por: Eternal Idol en 20 Junio 2014, 13:08 pm
Si, intentalo.


Título: Re: Error extraño al compilar en debian[Solucionado]
Publicado por: NikNitro! en 20 Junio 2014, 15:36 pm
Y qué diferencia hay? gcc es para C y g++ es para c++? :s

Saludos ;)


Título: Re: Error extraño al compilar en debian[Solucionado]
Publicado por: Eternal Idol en 20 Junio 2014, 15:37 pm
Algo asi, gcc GNU C Compiler es para C, y g++ es para C++.


Título: Re: Error extraño al compilar en debian[Solucionado]
Publicado por: NikNitro! en 20 Junio 2014, 15:42 pm
Okey, gracias ;)