SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: ocelot_76 en Domingo 6 de Septiembre de 2009, 17:44

Título: SDL_image
Publicado por: ocelot_76 en Domingo 6 de Septiembre de 2009, 17:44
buenassssssssssssssssssssssssssssssssss ya llevo 1 año programando en C & C++ pero soy absolutamente nuevo en el mundo SDL (en windows llevava poko i en linux absolutamente nada sobre la libreria SDL) pues bien tengo gcc i g++ i todas las librerias SDL instaladas correctamente tambien SDL_net, SDL_image, SDL_mixer...

pues bien ago el siguiente codig:


#include <SDL.h>
#include <SDL_image.h>
#include <stdio.h>


int main (int argc, char** argv){
        SDL_Init (SDL_INIT_EVERYTHING);
        SDL_Surface* pantalla, *imatge;
        SDL_Event evento;
        SDL_Rect posicio;
        int i = 0;

        pantalla = SDL_SetVideoMode (1000, 1000, 24, SDL_HWSURFACE);
        imatge = IMG_Load ("kobe.jpg");
        posicio.x = 0;
        posicio.y = 0;
        posicio.w = imatge->w;
        posicio.h = imatge->h;
        SDL_BlitSurface (imatge, NULL, pantalla, &posicio);
        SDL_Flip (pantalla);
       
        while (i == 0){
                while (SDL_PollEvent (&evento)){
                              if (evento.type == SDL_KEYDOWN){
                                        i = 1;
                        }
                }
        }

        SDL_FreeSurface (imatge);
        SDL_Quit ();
        return 0;
}


pues bien al compilar (gcc -o prueba prueba.c  -lSDL -lpthread -lSDL_image

me salen unos errores como los siguientes

/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_destroy_read_struct@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_read_update_info@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_create_info_struct@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_get_valid@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_read_image@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_get_io_ptr@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_set_packing@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_set_strip_16@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_set_gray_to_rgb@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_read_info@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_get_tRNS@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_set_read_fn@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_sig_cmp@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_get_IHDR@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_set_expand@PNG12_0'
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/libSDL_image.so: undefined reference to `png_create_read_struct@PNG12_0'
collect2: ld returned 1 exit status


i no me devuelve nada

le agreceria mucho kualkier tipo de ayuda

saludos i muchas gracias a todos

Nota kobe.jpg es la imagen k kiero kargar con SDL_image

El conozimiento es poder, el poder... el poder es superioridad
Título: Re: SDL_image
Publicado por: lostshell en Domingo 6 de Septiembre de 2009, 23:31
prueba:
Código: Text
  1.  
  2. gcc -o prueba prueba.c `sdl-config --cflags`  `sdl-config --libs` -lSDL_image
  3.  
  4.  
Título: Re: SDL_image
Publicado por: ocelot_76 en Lunes 7 de Septiembre de 2009, 15:52
Cita de: "lostshell"
prueba:
Código: Text
  1.  
  2. gcc -o prueba prueba.c `sdl-config --cflags`  `sdl-config --libs` -lSDL_image
  3.  
  4.  


Ahora mismo lo pruebo muchas gracias

OuGi
Título: Re: SDL_image
Publicado por: ocelot_76 en Martes 8 de Septiembre de 2009, 12:47
Cita de: "ocelot_76"
Cita de: "lostshell"
prueba:
Código: Text
  1.  
  2. gcc -o prueba prueba.c `sdl-config --cflags`  `sdl-config --libs` -lSDL_image
  3.  
  4.  


Sige sin funcionar aun asi gracias puede k no instalara bien las librerias DSL_image lo raro es k ize lo mismo k kon las librerias SDL a sekas i esta si k me funciona

OuGi
Título: Re: SDL_image
Publicado por: Geo en Miércoles 16 de Septiembre de 2009, 07:21
¿De dónde obtuviste la biblioteca SDL_image, la compilaste tú mismo, con qué opciones?
Título: Re: SDL_image
Publicado por: lostshell en Miércoles 16 de Septiembre de 2009, 21:37
Cita de: "Geo"
¿De dónde obtuviste la biblioteca SDL_image, la compilaste tú mismo, con qué opciones?
ya viene la distro que uso (slackware)
Título: Re: SDL_image
Publicado por: Geo en Jueves 17 de Septiembre de 2009, 08:52
En una búsqueda rápida en el explorador de paquetes de Slackware (http://packages.slackware.it/ (http://packages.slackware.it/" onclick="window.open(this.href);return false;)) no la encontré, solamente SDL. Intenta reinstalarla, instalar las bibliotecas de soporte para PNG, si no funciona, instala la versión del sitio oficial:
http://www.libsdl.org/projects/SDL_image/ (http://www.libsdl.org/projects/SDL_image/" onclick="window.open(this.href);return false;)

ya sea que puedas instalar el paquete rpm o compila el código fuente.
Título: Re: SDL_image
Publicado por: memmaker650 en Miércoles 30 de Septiembre de 2009, 17:30
Haz lo que dice nuestro amigo. Bajatela de la direccion que te ha dado y compilatela para tu SO.
Como veo que estas trabajando con SDL te recomiendo otros modulos interesantes:
- SDL_TTF --> para fuente true type, las de Windows vamos.
- SDL_mixer --> para reproduccion de musica.

Te recomiendo que para compilar tus programitas uses un makefile porque es mas sencillo de modificar y apra distintos proyectos solo tienes que cambiar unas pocas cosas. Además para trabajar con SDL es interesante porque suele requerir algun flag mas en la compilación. LDFLAGS y CDFLAGS.

MIra la documentación oficial. Por lo menos para Mac si que lo necesita.