Ayuda con SceKernelLoadExec!

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, dark_sasuke, m0skit0, LnD, ka69, zacky06

Responder
Avatar de Usuario
ElCiberNauta42
Enteradillo
Enteradillo
Mensajes: 29
Registrado: 04 Ago 2011, 03:45
PSN ID: CiberNauta42
Ubicación: Argentina
Contactar:

Ayuda con SceKernelLoadExec!

Mensaje por ElCiberNauta42 »

Hola gente aber si alguien me puede ayudar, tengo un problema al querer ejecutar un Eboot en C, yo uso este código:

Spoiler:

Código: Seleccionar todo

   struct SceKernelLoadExecVSHParam param;
   int apitype = 0x141;
   char *program = "ms0:/PSP/GAME/Scenary Beta 2011 Proyecto/EBOOT.PBP";

   memset(&param, 0, sizeof(param));
   param.size = sizeof(param);
   param.args = strlen(program)+1;
   param.argp = program;
   param.key = "game";

   sctrlKernelLoadExecVSHWithApitype(apitype, program, &param);


El problema es que al compilar me tira este error:

Spoiler:
Imagen


Ahora me eh percatado que el error esta en el Makefile, y supuestamente el error esta al agregar la libreria "-lpspsystemctrl_user" Pero la libreria la tengo tanto en el Makefile como en el main.c, esta son las librerías que utilizo:

Spoiler:

Código: Seleccionar todo

#include <pspsdk.h>    
#include <pspkernel.h>
#include <psppower.h>
#include <pspctrl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <pspdisplay.h>
#include <pspdebug.h> 
#include <stdlib.h>
#include <pspiofilemgr.h>
#include <math.h>
#include <pspaudio.h>
#include <pspaudiolib.h>
#include <psprtc.h>
#include <png.h>
#include <pspgu.h>
#include "Librerias/graphics.h"
#include "Librerias/framebuffer.h"
#include "mp3player.h"
#include "Librerias/filebrowser.c"
#include "pspmp3.h"
#include <pspumd.h>
#include <psploadexec.h>
#include <psploadexec_kernel.h>


y este es mi Makefile:

Spoiler:

Código: Seleccionar todo

TARGET = Esteeeeeeeeee
OBJS = menu.o Librerias/graphics.o Librerias/framebuffer.o mp3player.o
 
INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

BUILD_PRX = 1
PSP_FW_VERSION = 371


LIBDIR =
LDFLAGS =
LIBS = -lpspgu -lpng -ljpeg -lz -lm -lmad -lpspaudiolib -lpspaudio -lpsppower -lpspsdk -lpspumd -lpspsystemctrl_user


EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = File Browser

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak


Ahora, eh dado revisado el código, el makefile, la librería que utilizo, todo eh revisado, pero aun no encuentro el error, me estoy volviendo loco, eh buscado en cada web que aparece en Google, en total eh busca de la pagina 1 a la 86 en Google, y no encontré nada, ya no se que hacer, por favor que alguien me ayude!!!
ElCiberNauta42:

File Mananger

PSP-ODA

6.XX Installer

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Ayuda con SceKernelLoadExec!

Mensaje por m0skit0 »

Esto es lo que pasa cuando uno se tira a programar sin tomarse la molestia de entender qué es compilar o cómo funciona la compilación. Por eso hay que practicar mucho con el PC para pasar por estas (y otras) cosas típicas.

Primero, esto es lo que pasa con copiar-pegar sin saber ni qué estás haciendo. Eso no es programar, es copiar-pegar.

Segundo, no tienes ningún header definido en main.c que haga referencia a sysctrl.

Spoiler:
#include <pspsdk.h>
#include <pspkernel.h>
#include <psppower.h>
#include <pspctrl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <pspdisplay.h>
#include <pspdebug.h>
#include <stdlib.h>
#include <pspiofilemgr.h>
#include <math.h>
#include <pspaudio.h>
#include <pspaudiolib.h>
#include <psprtc.h>
#include <png.h>
#include <pspgu.h>
#include "Librerias/graphics.h"
#include "Librerias/framebuffer.h"
#include "mp3player.h"
#include "Librerias/filebrowser.c"
#include "pspmp3.h"
#include <pspumd.h>
#include <psploadexec.h>
#include <psploadexec_kernel.h>

Ya te podrías haber fijado tú mismo antes de postearlo :roll:

Tercero, que tengas tantos headers en un sólo fichero significa que tienes que partir ese fichero en varios más especializados para modularizar el código y reducir el dominio de búsqueda de errores.

Cuarto, sysctrl NO es una librería estándar del SDK, sino que es una librería de CFW, por tanto NO tienes esa librería a menos que instales el M33 SDK. Eso es lo que te marca el enlazador al compilar:

Código: Seleccionar todo

cannot find -lpspsystemctrl_user

(la próxima vez por favor copia-pega el texto de los errores en vez de poner pantallazos, que tengo que andar copiando el error a mano...)

Quinto, para cargar un EBOOT desde una aplicación que no sea un plugin de VSH, sólo necesitas sceKernelLoadExec() y no sctrlKernelLoadExecVSHWithApitype().

Personalmente es la última vez que te echo una mano en cuanto a programación en PSP, porque estas cosas ya te las comentó Yn$aNe anteriormente en otro hilo y es como hablarle al viento.

Suerte.
Imagen

Avatar de Usuario
ElCiberNauta42
Enteradillo
Enteradillo
Mensajes: 29
Registrado: 04 Ago 2011, 03:45
PSN ID: CiberNauta42
Ubicación: Argentina
Contactar:

Re: Ayuda con SceKernelLoadExec!

Mensaje por ElCiberNauta42 »

Alguien me podría decir de donde descargo la librería sysctrl, es la ultima pregunta que hago, a partir de ahora me abstendré a consultar nada en el foro, creo que nadie tiene suficiente paciencia como para ayudarme, así que si me facilitan esta librería (que por ciento no eh encontrado nada sobre el SDK M33) se los agradecería mucho, igualmente la seguiré buscando en Google, cuando la encuentre la dejare aquí...

-- Doble Post --

Aquí les dejo el Link:

http://www.megaupload.com/?d=B6KAO8XC

Espero le sirva a alguien...
ElCiberNauta42:

File Mananger

PSP-ODA

6.XX Installer

Responder