Error extraño al compilar en debian[Solucionado]

Iniciado por NikNitro!, 20 Junio 2014, 12:45 PM

0 Miembros y 1 Visitante están viendo este tema.

NikNitro!

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


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 (cpp) [Seleccionar]

#include <iostream>
#include <sys/socket.h>
#include <unistd.h>

//Otros includes:
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<string.h>

using namespace std;

int listen_socket, cliente;
struct sockaddr_in clientinfo, server;
int rtn;
char buffer[256];
const int PUERTO = 5050;


int main() {

//SOCKET
listen_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

server.sin_family = PF_INET;
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons(PUERTO);
//BIND
rtn = bind(listen_socket, (struct sockaddr*) (&server), (int) sizeof(server));
//LISTEN
listen(listen_socket, 1); //1 es el maximo de conexiones a la vez
//ACCEPT
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
//READ
// rtn = read(listen_socket, (*buffer), sizeof(buffer));
rtn = recv(cliente, buffer, 256, 0);
while (true) {
//WRITE
// rtn = write(listen_socket, (*buffer), sizeof(buffer));
write(cliente, buffer, strlen(buffer));
//READ
// rtn = read(listen_socket, (*buffer), sizeof(buffer));
rtn = recv(cliente, buffer, 256, 0);
// printf("Bucle");
}

return 0;
}



Alguna ayudita? :P

Saludos;)

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

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

NikNitro!

#2
Y qué diferencia hay? gcc es para C y g++ es para c++? :s

Saludos ;)

Eternal Idol

Algo asi, gcc GNU C Compiler es para C, y g++ es para C++.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón