[SOLUCIONADO] Problema con codigo de carga de imagenes en C

Bueno, pues ahora tengo otro problema.. en este caso tengo este codigo:

int main() {
char buffer[200];
Image* miImagen;
pspDebugScreenInit();
SetupCallbacks();
initGraphics();
sprintf(buffer, "Imagen.png");
miImagen = loadImage(buffer);
if (!miImagen) {
	//Fallo la carga de imagen
	printf("Image load failed!\n");
	} else {
		int x = 0;
		int y = 0;
		sceDisplayWaitVblankStart(); 
		while (x < 480) {
			while (y < 272) {
				blitAlphaImageToScreen(0 ,0 ,32 , 32, miImagen, x, y);
				y += 32;
			}
		x += 32;
		y = 0;
		}
	flipScreen();
	}
sceKernelSleepThread();
return 0;
}

y cuando trato de compilar, me tira estos errores:

C:\ProyectosPSP\imag>make
 
psp-gcc -I. -IC:/PSPDev/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=150   -c
 -o main.o main.c
 
main.c:8:22: error: graphics.h: No such file or directory
main.c: In function 'main':
main.c:47: error: 'Image' undeclared (first use in this function)
main.c:47: error: (Each undeclared identifier is reported only once
main.c:47: error: for each function it appears in.)
main.c:47: error: 'miImagen' undeclared (first use in this function)
main.c:50: warning: implicit declaration of function 'initGraphics'
main.c:52: warning: implicit declaration of function 'loadImage'
main.c:62: warning: implicit declaration of function 'blitAlphaImageToScreen'
main.c:68: warning: implicit declaration of function 'flipScreen'
make: *** [main.o] Error 1
 
C:\ProyectosPSP\imag>

que puedo hacer? donde consigo la libreria <graphics.h>?

gracias de antemano


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de maupsp

Aqui vamos

Una vez más tu código es correcto, lo malo ahora viene con conceptos básicos de programación, como el adecuado uso de librerias, todos tus errores son provocados porque no has agregado la libreria graphics.h a tu proyecto. Y eso ya lo tienes en cuenta pues estás preguntando por la misma libreria.

Por otra parte es muy fácil encontrar esa libreria si buscas un póco por internet especialmente en google, no estoy seguro de poder postear links pero, te dejo la referencia para que la consigas

 

Libreria Graphics

Cito textualmente de donde la puedes descargar

"So here we go, let's start out our program. You'll need to download another zip file for this lesson. You can get it here. You'll need to make a main.c file in the same folder as the files you extract from the zip file."

donde está here debes hacer clic para descargar el fichero que contiene la libreria en el link que he escrito.

 

Esfuerzate mucho

Saludos desde México!

 

Imagen de maupsp

Y por cierto...

Asegura te que escribas en tu main  "graphics.h" y "framebuffer.h" entre comillas, ya que indicarán que esas liberias se encuentran en la misma carpeta que tu archivo main. asi como de poner la imagen en la misma carpeta que tu archivo main porque no estás especificando otra ruta.

 

Espero te sirva.

Saludos!

 

Imagen de arielnmz

woow

de nuevo muchisimas gracias.. eso de poner entre comillas y en la misma carpeta ya me habia quedado claro desde que lei los tutoriales, y de veras muchas muchas gracias x la ayuda, pero ahora surge otro problema.. a la hora de compilar tira esto:

C:\ProyectosPSP\imag>make
 
make: *** No rule to make target `graphics.o', needed by `imag.elf'.  Stop.
 
C:\ProyectosPSP\imag>

intente añadir graphics.o al makefile junto a los demas .o's pero no sirvo, que se hace en estos casos?

Imagen de maupsp

Hola otra vez

Oye Ariel, estás seguro que los archivos grphics.c y graphics.h asi como framebuffer.c y framebuffer.h estan en el mismo directorio que tu main.c?,

Quisiera saber si tu makefile se parece a este

TARGET = XXXXX
OBJS = main.o graphics.o framebuffer.o 
 
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
 
LIBDIR =
LIBS = -lpspgu -lpng -lz -lm -lfreetype
LDFLAGS =
 
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = XXXXX
 
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak

 si no estas especifcando ruta en donde dice  OBJS, significa que todos tus archivos están donde se encuentra el MAKEFILE, recomiendo que por ahora los dejes todos en la misma carpeta.

 

Espero y funcione lo que te digo.

 

Saludos

Imagen de arielnmz

INCREIBLE!!!

muchas gracias funciono! el problema de todo era meter los .h's y .c's (de graphics y framebuffer) en la misma carpeta del main.c ... de veras mil gracias, solo una pequeña duda, que archivos son los unicos necesarios para meter al psp junto con el eboot.pbp?

Imagen de ipn2

mmm

Si hablas de los archivos q salen al compilar como el *.elf y esos solo necesitas el *.pbp y claro la imagen que cargaras xD

Imagen de maupsp

Todo depende...

Todo depende de los recursos que ocupes, generalmente los eboots son como los exe para psp, pero a veces es necesario tener archivos como imagenes, música, con los que funcionan nuestras aplicaciones. entonces si estás haciendo una aplicación que necesite de imagenes estás imagenes también deben ser puestos en el psp... entonces sólo necesitas los EBOOTS y los archivos extra (imagenes, archivos de configuración o ó música ) Espero que eso resuelva tu duda

Imagen de arielnmz

desdee luego que sii y de

desdee luego que sii y de nuevo mil gracias por todo, como apenas voy empezando voi a molestar mucho con estos posts pero lo bueno es que aprendo facil ;) muchas gracias y ah! saludos desde cortazar, gto, mexicoooo!!!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.