Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Worvast en 07 de Julio de 2008, 09:39:25 PM

Título: Configurar SDL en CodeBlocks
Publicado por: Worvast en 07 de Julio de 2008, 09:39:25 PM
No he parado de buscar, mirar por todos lados, probar miles de formas....y no hay manera de que funcione correctamente.

Tengo CodeBlocks, en Windows. Quiero configurarles las SDL para que me funcione todo bien, ¿Alguien me da una guía rápida o me dice donde hay alguna?

La verdad es que me tiene un poco casado el tema ya, así que me molaría solucionarlo.


Gracias, Bye-nee
Título: Configurar SDL en CodeBlocks
Publicado por: gnomwer en 07 de Julio de 2008, 11:52:31 PM
que pasa worvast, no se pero yo lo hize una vez creo que fue mirando tutoriales de esta web http://www.losersjuegos.com.ar/principal/principal.php
Título: Configurar SDL en CodeBlocks
Publicado por: rcaf en 08 de Julio de 2008, 12:13:42 AM
El año pasado hice unos tutoriales sobre la configuración de SDL, la IDE Code::Blocks y el compilador MinGW.

Puedes verlo acá:

http://www.blogrcaf.com/2007/03/21/preparando-el-entorno-para-desarrollar-videojuegos/

http://www.blogrcaf.com/2007/05/21/creacion-de-un-proyecto-con-codeblocks/

Saludos!
Título: Configurar SDL en CodeBlocks
Publicado por: Worvast en 08 de Julio de 2008, 05:26:03 PM
gnomwer, rcaf, gracias. He seguido esos manuals ahora, y llegan al mismo pusto que todos los demás...

Cuando intento compilar esto, una chorrada básica:



#ifdef __cplusplus
   #include <cstdlib>
#else
   #include <stdlib.h>
#endif
#ifdef __APPLE__
   #include <SDL/SDL.h>
#else
   #include <SDL.h>
#endif


int main() {

  if(SDL_Init(SDL_INIT_VIDEO) < 0) {
      fprintf(stderr, "No podemos inicializar SDL: %s\n", SDL_GetError());
      exit(1);
  }
  else {
      fprintf(stdout, "Hemos inicializado SDL\n");
      atexit(SDL_Quit);
  }

  return 0;
}




Me sale este error:


CitarC:\Archivos de programa\CodeBlocks\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\libSDLmain.a(SDL_win32_main.o)||In function `console_main':|
\Users\hercules\trunk\SDL-1.2\.\src\main\win32\SDL_win32_main.c|246|undefined reference to `_SDL_main'|
||=== Build finished: 1 errors, 0 warnings ===|

Basicamente, undefined reference to `_SDL_main'


Tengo la biblioteca libSDLmain en la carpeta lib del MingGW, además de las demás librerias (libSDL, etc)
Tengo los includes donde deben estar (en include, obviamente)
Y en las Builds options tengo en linker settings lo necesario, creo:

-lmingw32
-lSDLmain
-lSDL



Esto me pasa cuando:

A) Creo un proyecto vacio y lo configuro todo como he dicho.
B) Creo un proyecto SDL, no tengo que poner nada y lo que me sale por defecto (una ventana con el logo de SDL) me sale de PM, cambio el código por el de arriba por ejemplo, y ¡me vuelve a salir lo mismo!

Seguramente sea una tontería, pero vamos, no tengo ni idea. No es que controle mucho del tema así que agradecería un poco de ayuda. Cualquier dato que me haya dejado en el tintero y creais que debo dar, preguntad.

Bye-nee
Título: Configurar SDL en CodeBlocks
Publicado por: davur en 08 de Julio de 2008, 05:42:51 PM
Tu definición de main() tiene que ser forzosamente del tipo:


int main(int argc, char** argv)
{
   // ...
}
Título: Configurar SDL en CodeBlocks
Publicado por: Worvast en 08 de Julio de 2008, 05:49:18 PM
Dios, lo dicho, una gran tontería xD

La costumbre de no esperar ningún argumento por referencia en el main (Gracias a que en mi universidad me decian que no lo pusiera si no era necesario, todo se pega) me ha jodido bastante.

Gracias davur ^^


Bye-nee