KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: [C]SDL streikt!
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

(mein erstes Thema hier im Forum =])
Ich hab ein Problem. Das Problem ist SDL oder mehr gesagt PSP Gu. Hab denk die GU lib vergessen aber im Internet find ich nichts :C

Bitte hilft mir!

Ohne SDL geht.

Libs:

Code:
-lsdl -lpsplibc -lpspdebug -lc -lpspdisplay -lpspge -lpspctrl -lpspsdk -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel


Fehler:

Code:
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `PSP_GuStretchBlit':|
src\video\psp\SDL_pspvideo.c|629|undefined reference to `sceGuStart'|
src\video\psp\SDL_pspvideo.c|630|undefined reference to `sceGuEnable'|
src\video\psp\SDL_pspvideo.c|631|undefined reference to `sceGuTexMode'|
src\video\psp\SDL_pspvideo.c|632|undefined reference to `sceGuTexFunc'|
src\video\psp\SDL_pspvideo.c|633|undefined reference to `sceGuTexFilter'|
src\video\psp\SDL_pspvideo.c|634|undefined reference to `sceGuTexImage'|
src\video\psp\SDL_pspvideo.c|635|undefined reference to `sceGuTexSync'|
src\video\psp\SDL_pspvideo.c|672|undefined reference to `sceGuDrawArray'|
src\video\psp\SDL_pspvideo.c|639|undefined reference to `sceGuGetMemory'|
src\video\psp\SDL_pspvideo.c|647|undefined reference to `sceGuTexImage'|
src\video\psp\SDL_pspvideo.c|649|undefined reference to `sceGuTexSync'|
src\video\psp\SDL_pspvideo.c|676|undefined reference to `sceGuFinish'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `PSP_FlipHWSurface':|
src\video\psp\SDL_pspvideo.c|558|undefined reference to `sceGuSwapBuffers'|
src\video\psp\SDL_pspvideo.c|551|undefined reference to `sceGuSync'|
src\video\psp\SDL_pspvideo.c|558|undefined reference to `sceGuSwapBuffers'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `PSP_GuUpdateRects':|
src\video\psp\SDL_pspvideo.c|734|undefined reference to `sceGuSync'|
src\video\psp\SDL_pspvideo.c|734|undefined reference to `sceGuSync'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `PSP_FillHWRect':|
src\video\psp\SDL_pspvideo.c|688|undefined reference to `sceGuStart'|
src\video\psp\SDL_pspvideo.c|690|undefined reference to `sceGuGetMemory'|
src\video\psp\SDL_pspvideo.c|697|undefined reference to `sceGuDrawBuffer'|
src\video\psp\SDL_pspvideo.c|701|undefined reference to `sceGuColor'|
src\video\psp\SDL_pspvideo.c|702|undefined reference to `sceGuDrawArray'|
src\video\psp\SDL_pspvideo.c|704|undefined reference to `sceGuDrawBuffer'|
src\video\psp\SDL_pspvideo.c|706|undefined reference to `sceGuFinish'|
src\video\psp\SDL_pspvideo.c|707|undefined reference to `sceGuSync'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `HWAccelBlit':|
src\video\psp\SDL_pspvideo.c|587|undefined reference to `sceGuStart'|
src\video\psp\SDL_pspvideo.c|589|undefined reference to `sceGuCopyImage'|
src\video\psp\SDL_pspvideo.c|595|undefined reference to `sceGuFinish'|
src\video\psp\SDL_pspvideo.c|599|undefined reference to `sceGuSync'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `PSP_SetColors':|
src\video\psp\SDL_pspvideo.c|759|undefined reference to `sceGuStart'|
src\video\psp\SDL_pspvideo.c|760|undefined reference to `sceGuClutLoad'|
src\video\psp\SDL_pspvideo.c|761|undefined reference to `sceGuFinish'|
src\video\psp\SDL_pspvideo.c|762|undefined reference to `sceGuSync'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `PSP_VideoQuit':|
src\video\psp\SDL_pspvideo.c|777|undefined reference to `sceGuTerm'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspvideo.o)||In function `PSP_SetVideoMode':|
src\video\psp\SDL_pspvideo.c|250|undefined reference to `sceGuInit'|
src\video\psp\SDL_pspvideo.c|251|undefined reference to `sceGuStart'|
src\video\psp\SDL_pspvideo.c|252|undefined reference to `sceGuDispBuffer'|
src\video\psp\SDL_pspvideo.c|257|undefined reference to `sceGuDrawBuffer'|
src\video\psp\SDL_pspvideo.c|259|undefined reference to `sceGuClear'|
src\video\psp\SDL_pspvideo.c|260|undefined reference to `sceGuOffset'|
src\video\psp\SDL_pspvideo.c|261|undefined reference to `sceGuViewport'|
src\video\psp\SDL_pspvideo.c|262|undefined reference to `sceGuScissor'|
src\video\psp\SDL_pspvideo.c|263|undefined reference to `sceGuEnable'|
src\video\psp\SDL_pspvideo.c|264|undefined reference to `sceGuFrontFace'|
src\video\psp\SDL_pspvideo.c|266|undefined reference to `sceGuFinish'|
src\video\psp\SDL_pspvideo.c|267|undefined reference to `sceGuSync'|
src\video\psp\SDL_pspvideo.c|270|undefined reference to `sceGuDisplay'|
src\video\psp\SDL_pspvideo.c|254|undefined reference to `sceGuClutMode'|
src\video\psp\SDL_pspvideo.c|255|undefined reference to `sceGuDrawBuffer'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspaudio.o)||In function `PSPAUD_CloseAudio':|
src\audio\psp\SDL_pspaudio.c|134|undefined reference to `sceAudioChRelease'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings ===|


und zum Schluß der Source Code:

PHP-Code:
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspdisplay.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include <SDL/SDL_mixer.h>
#include <SDL/SDL_image.h>

PSP_MODULE_INFO("Hello World",0,1,1);

int ExitCallback(int Arg1int Arg2void *Common)
{
    
sceKernelExitGame();
    return 
0;
}

int CallbackThread(SceSize Argsvoid *Argp)
{
    
int CallbackId;
    
CallbackId sceKernelCreateCallback("Exit Callback"ExitCallbackNULL);
    
sceKernelRegisterExitCallback(CallbackId);
    
sceKernelSleepThreadCB();
    return 
0;
}

int SetupCallbacks(void)
{
    
int ThreadId;
    
ThreadId sceKernelCreateThread("update_thread",CallbackThread,0x11,0xFA0,0,0);
    if(
ThreadId >= 0)
    {
        
sceKernelStartThread(ThreadId,0,0);
    }
    return 
ThreadId;
}

int main (int argcchar *argv[])
{
    
SDL_Surface *screen;

    
pspDebugScreenInit();
    
SetupCallbacks();

    if (
SDL_Init(SDL_INIT_VIDEO) == -1) {
        exit(
1);
    }

    
screen SDL_SetVideoMode(27248016SDL_HWSURFACE);
    
/*if (screen == NULL) {
        printf("Can't set video mode: %s\n", SDL_GetError());
        exit(1);
    }*/

    
SDL_Delay(3000);

    
SDL_Quit();

    
pspDebugScreenPrintf("Hello World");
    
sceDisplayWaitVblankStart();

    return 
0;


Ach und IDE ist Code::Blocks. Is sicher ein dummer fehler von mir :/

MfG TheNightAlex

-lpspgum -lpspgu
Danke endlich X.X jetzt geht zumindest GU aber SDL will immer noch nicht :/ So viele Probleme hatte ich nocht nie:

Code:
I:\pspdev\psp\lib\libsdl.a(SDL_pspaudio.o)||In function `PSPAUD_CloseAudio':|
src\audio\psp\SDL_pspaudio.c|134|undefined reference to `sceAudioChRelease'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspaudio.o)||In function `PSPAUD_PlayAudio':|
src\audio\psp\SDL_pspaudio.c|120|undefined reference to `sceAudioOutputPannedBlocking'|
src\audio\psp\SDL_pspaudio.c|118|undefined reference to `sceAudioOutputBlocking'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspaudio.o)||In function `PSPAUD_OpenAudio':|
src\audio\psp\SDL_pspaudio.c|194|undefined reference to `sceAudioChReserve'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspevents.o)||In function `PSP_EventQuit':|
src\video\psp\SDL_pspevents.c|274|undefined reference to `pspIrKeybFinish'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspevents.o)||In function `PSP_EventInit':|
src\video\psp\SDL_pspevents.c|247|undefined reference to `pspIrKeybInit'|
src\video\psp\SDL_pspevents.c|249|undefined reference to `pspIrKeybOutputMode'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspevents.o)||In function `PSP_PumpEvents':|
src\video\psp\SDL_pspevents.c|112|undefined reference to `pspIrKeybReadinput'|
I:\pspdev\psp\lib\libsdl.a(SDL_pspevents.o)||In function `EventUpdate':|
src\video\psp\SDL_pspevents.c|71|undefined reference to `sceHprmPeekCurrentKey'|
||=== Build finished: 9 errors, 0 warnings ===|


mir Fehlt immer noch ne blöde Lib :/ hab grad gesucht im Forum der hatte schonmal ein Problem aber LEIDER nicht gelöst :C

Audio -> Audio Lib :/
Event -> ??? Lib

Also nur noch 2 Libs =]

-lpspaudio -lpsphprm -lpspirkeyb
was soll das denn werden?

koliver23 :
was soll das denn werden?


Code:
PSP_MODULE_INFO("Hello World",0,1,1);


Das sollte deine Frage beantworten Wink

jo danke(bin grad mit psp on kriegst morgen dankeWink).
Also ich danke erstamal SEHR HacKmaN, aber es geht immer noch nicht :C

es liegt an

PHP-Code:
#include <stdlib.h>
#include <SDL/SDL.h> 


Wenn ich SDL wegmache sind die ALLE fehler weg und ich kann das Programm erstehlen. Oslib geht auch aber ich brauch SDL :/

Code:
I:\pspdev\psp\lib\libc.a(lib_a-strtod.o)||In function `strtod':|
..\..\..\..\..\..\newlib-1.18.0\newlib\libc\stdlib\strtod.c|1172|multiple definition of `strtod'|
I:\pspdev\psp\sdk\lib\libpsplibc.a(strtod.o):..\..\..\..\pspsdk\src\libc\stdlib.c|756|first defined here|
I:\pspdev\psp\sdk\lib\libpspirkeyb.a(pspirkeyb.o)||In function `palm1':|
pspirkeyb.c|| undefined reference to `scePowerTick'|
I:\pspdev\psp\sdk\lib\libpspirkeyb.a(pspirkeyb.o)||In function `hama':|
pspirkeyb.c|| undefined reference to `scePowerTick'|
I:\pspdev\psp\sdk\lib\libpspirkeyb.a(pspirkeyb.o)||In function `palmuw':|
pspirkeyb.c|| undefined reference to `scePowerTick'|
I:\pspdev\psp\sdk\lib\libpspirkeyb.a(pspirkeyb.o)||In function `flexis':|
pspirkeyb.c|| undefined reference to `scePowerTick'|
I:\pspdev\psp\sdk\lib\libpspirkeyb.a(pspirkeyb.o)||In function `snapntype':|
pspirkeyb.c|| undefined reference to `scePowerTick'|
I:\pspdev\psp\sdk\lib\libpspirkeyb.a(pspirkeyb.o):pspirkeyb.c|| more undefined references to `scePowerTick' follow|
I:\pspdev\psp\lib\libc.a(fdman.o)||In function `__psp_fdman_init':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\fdman.c|29|undefined reference to `sceKernelStdin'|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\fdman.c|35|undefined reference to `sceKernelStdout'|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\fdman.c|41|undefined reference to `sceKernelStderr'|
I:\pspdev\psp\lib\libc.a(pipe.o)||In function `__psp_pipe_nonblocking_write':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|293|undefined reference to `sceKernelTrySendMsgPipe'|
I:\pspdev\psp\lib\libc.a(pipe.o)||In function `__psp_pipe_write':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|262|undefined reference to `sceKernelSendMsgPipe'|
I:\pspdev\psp\lib\libc.a(pipe.o)||In function `__psp_pipe_read':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|218|undefined reference to `sceKernelReceiveMsgPipe'|
I:\pspdev\psp\lib\libc.a(pipe.o)||In function `__psp_pipe_close':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|104|undefined reference to `sceKernelDeleteMsgPipe'|
I:\pspdev\psp\lib\libc.a(pipe.o)||In function `pipe':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|54|undefined reference to `sceKernelCreateMsgPipe'|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|74|undefined reference to `sceKernelDeleteMsgPipe'|
I:\pspdev\psp\lib\libc.a(pipe.o)||In function `__psp_pipe_peekmsgsize':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|38|undefined reference to `sceKernelReferMsgPipeStatus'|
I:\pspdev\psp\lib\libc.a(pipe.o)||In function `__psp_pipe_nonblocking_read':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\pipe.c|156|undefined reference to `sceKernelTryReceiveMsgPipe'|
I:\pspdev\psp\lib\libc.a(_lseek.o)||In function `_lseek':|
..\..\..\..\..\..\..\newlib-1.18.0\newlib\libc\sys\psp\libcglue.c|345|undefined reference to `sceIoLseek'|
||=== Build finished: 20 errors, 0 warnings ===|


Es liegt wahrscheinlich an meinem Code?

PS: Jetzt verstehe ich wie ich "Danke" geben kann xD

MfG TheNightAlex

'undefined reference to' heißt, dass der Linker nicht gegen eine Library gelinkt wurde.
Danke =] aber es gibt leider nicht nur eine lib sonder ~30 Libs :/

Wo find ich die richtige?

Lol hab einfachmal gedacht

Code:
I:\pspdev\psp\sdk\lib\libpspirkeyb.a(pspirkeyb.o)||In function `palmuw':|
pspirkeyb.c|| undefined reference to `scePowerTick'|

"Hat ja was mit Power zu tun da mach ich mal -lpsppower rein" und es ging =]
nun hab noch 14 errors.
-lpspkernel ging leider nicht :c

Danke blue7!

Poste mal bitte deine Makefile!
Das wird schwer benütze Code::Blocks :/

EDIT:

Download

EDIT2:

Libs:

-lpsplibc -lpspdebug -lc -lpspdisplay -lpspge -lpspctrl -lpspsdk -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel
-lsdl
-lpspgum -lpspgu
-lpspaudio -lpsphprm -lpspirkeyb
-lpsppower
-lpspkernel
Jetzt weis keiner mehr weiter? Sad dann warte ich auf PSP Vita
Referenz-URLs