Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Alguien me ayuda con sdl.net

Iniciado por kirometep, 06 de Mayo de 2008, 12:27:21 AM

« anterior - próximo »

kirometep

Hola

tengo un problema, hace unos meses que llevo desarrollando un mini juego en c++ con la ayuda de sdl y sus librerias auxiliares,

todo bien, e linkado todas correctamente, pero ayer me puse con el tema de la red, baje sdl_net de la pagina oficial, lo linqué poniendo -lSDL_net y pruebo con un ejemplo de un tutorial
todo correcto pero me dice el siguiente error:

C:\Dev-Cpp\lib\libSDLmain.a(SDL_win32_main.o)(.text+0x39c)
In function `console_main':
 [Linker error] undefined reference to `SDL_main'
C:\Dev-Cpp\lib\libSDLmain.a(SDL_win32_main.o)(.text+0x39c) ld returned 1 exit status

no se si puede ser por algun problema de la version de la libreria porque sdlmain esta correcto en mi compilador

si alguien sabe algo sobre el tama por favor ruego me contesten
a poder ser a mi email o me agregais a msn dj_kirometeperas@hotmail.com

GRACIAS DE ANTEMANO

el codigo que he probado es este:

#include <iostream>
#include <SDL/SDL.h>
#include <SDL/SDL_net.h>


using namespace std;

int main() {

// Inicializamos SDL_net
if(SDLNet_Init() < 0) {

cout << "SDL_Init: " << SDLNet_GetError();
exit(1);

}

atexit(SDLNet_Quit);

// Modo servidor

IPaddress ip;
// Configuramos el servidor para escuchar el puerto 2000

if(SDLNet_ResolveHost(&ip, NULL, 2000) < 0) {

cerr << "SDLNet_ResolveHost(): " << SDLNet_GetError();
exit(1);

}

// Abrimos una conexión

TCPsocket socket;

socket = SDLNet_TCP_Open(&ip);
if(!socket) {

cerr << "SDLNet_TCP_Open(): " << SDLNet_GetError();
exit(1);
}


cout << "Servidor activo" << endl;

// Bucle de control de la conexión

bool salir = false;
TCPsocket socket_cliente;

while(salir == false) {

// ¾Tenemos una conexión pendiente?
// La aceptamos

if((socket_cliente = SDLNet_TCP_Accept(socket))) {

// Ahora realizamos la comunicación con el cliente

IPaddress *ip_remota;

// Mostramos la información

if((ip_remota = SDLNet_TCP_GetPeerAddress(socket_cliente)))

cout << "Cliente conectado "
<< SDLNet_Read32(&ip_remota->host)
<< " : "
<< SDLNet_Read16(&ip_remota->port) << endl;

else

cerr << "SDLNet_TCP_GetPeerAddress(): " << SDLNet_GetError() << endl;


// Mostramos lo que envía el cliente

bool terminar = false;
char buffer[512];

while(terminar == false) {

// Leemos de la conexión

if (SDLNet_TCP_Recv(socket_cliente, buffer, 512) > 0) {

cout << "Cliente dice: " << buffer << endl;;

// Si da orden de salir, cerramos

if(strcmp(buffer, "exit") == 0) {

terminar = true;
cout << "Desconectando" << endl;

}

if(strcmp(buffer, "quit") == 0) {

terminar = true;
salir = true;
cout << "Server Down" << endl;
}
}
}

// Cierro el socket
SDLNet_TCP_Close(socket_cliente);
}

}

SDLNet_TCP_Close(socket);

return 0;
}

LC0

Citar
int main(int argc, char** argv) { /* ... */ }

LC0

Por cierto, con respecto a lo de responder a tu correo: Tienes una duda que, casualmente, muchísima gente nos hemos dado de bruces con ella en sus respectivos momentos, y otros acabarán  haciéndolo tarde o temprano (ni te imaginas la de veces que se habrá preguntado esto en la lista de correo de SDL).

Que quieras una respuesta solo para ti es un tanto egoísta; la utilidad del foro es la colectivización de los problemas y sus soluciones, para que en un futuro sirva de ayuda a cualquiera.

Imagino que lo has pedido sin malas intenciones, pero tenlo en cuenta para la próxima vez.

kirometep

Solo era pork si me contestan aki no me entero

kirometep

Pero gracias por solventarme la duda  :wink:

[EX3]

Cita de: "kirometep"Solo era pork si me contestan aki no me entero
Eso es problema de cada uno :P Los foros estan para compartir su contenido con los demas. Si se tercia por el motivo que sea, si no se puede o no se desea seguir el trafico de mensajes y respuestas del foro y estar pendiente de la respuesta (es comprensible) tienes una opcion en tu perfil de usuario para que el sistema te envie avisos al correo cuando respondan en algun post que hayas creado o participado.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.