2011-12-19 1 views
0

Je développe une application homebrew PSP et j'utilise le makefile de l'exampel mais il ne liera pas car le linker stupide (excusez mon français) dit que oslIsWlanPowrOn est indéfini. Je sais que je suis en train de relier la bonne bibliothèque, et je suis un exemple qui devrait être compilé. Je sais que la plupart des utilisateurs de stackoverflow n'utilisent pas l'oslib ou font beaucoup de programmation psp mais toute aide serait appréciée. J'ai également essayé de réordonner l'ordre des libs mais déclare toujours les mêmes erreurs d'éditeur de liens. Quoi qu'il en soit voici le code ci-dessous:Référence non définie à `oslIsWlanPowerOn '

Makefile

TARGET = main 
OBJS = main.o 

CFLAGS = -O2 -g -G0 -Wall 
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti 
ASFLAGS = $(CFLAGS) 
LIBDIR = 


LIBS= -lpspwlan -losl -lpng -lz -lpspnet \ 
     -lpsphprm -lpspsdk -lpspctrl -lpsprtc -lpsppower -lpspgu -lpspgum -lpspaudiolib -lpspaudio \ 
     -lpspnet_adhocmatching -lpspnet_adhoc -lpspnet_adhocctl -lm -ljpeg 

LDFLAGS = 
EXTRA_TARGETS = EBOOT.PBP 
PSP_EBOOT_TITLE = PSP Chat 
#PSP_EBOOT_ICON = ICON0.PNG 
PSPSDK=$(shell psp-config --pspsdk-path) 
include $(PSPSDK)/lib/build.mak 

Détails de l'erreur:

1>------ Build started: Project: PSP Chat, Configuration: Debug Win32 ------ 
1> psp-gcc -I. -IC:/pspsdk/psp/sdk/include -O2 -g -G0 -Wall -D_PSP_FW_VERSION=150 -L. -LC:/pspsdk/psp/sdk/lib main.o -lpspwlan -losl -lpng -lz -lpspnet -lpsphprm -lpspsdk -lpspctrl -lpsprtc -lpsppower -lpspgu -lpspgum -lpspaudiolib -lpspaudio -lpspnet_adhocmatching -lpspnet_adhoc -lpspnet_adhocctl -lm -ljpeg -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o main.elf 
1> main.o: In function `main': 
1> c:\Users\Danny\documents\visual studio 2010\Projects\PSP Chat\PSP Chat/main.cpp (24) : undefined reference to `oslIsWlanPowerOn' 
1> c:\Users\Danny\documents\visual studio 2010\Projects\PSP Chat\PSP Chat/main.cpp (52) : undefined reference to `oslIsWlanPowerOn' 
1> C:\pspsdk\bin\make: *** [main.elf] Error 1 
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== 

MAIN.CPP

#include <pspkernel.h> 
#include <oslib\oslib.h> 
PSP_MODULE_INFO("PSP Chat", 0, 1, 0); 

OSL_FONT* font; 
int main() 
{ 
    char* screename = (char*)malloc(100); 
    int skip = 0; 
    printf("Initializing OSL..."); 
    oslInit(0); 
    printf("Loading Font..."); 
    oslIntraFontInit(INTRAFONT_CACHE_MED); 
    font = oslLoadFontFile("flash0:/font/ltn0.pgf"); 
    printf("Configuring Font Style..."); 
    oslIntraFontSetStyle(font, 1.0, RGBA(0, 0, 255, 255), RGBA(0, 0, 0, 0), INTRAFONT_ALIGN_LEFT); 
    printf("Setting Font..."); 
    oslSetFont(font); 
    while(!osl_quit) 
    { 
     if (!skip) 
     { 
       oslStartDrawing(); 
       if (oslIsWlanPowerOn()) 
       { 
        oslDrawString(10, 10, "Please Enter Screename By Pressing X (Client)..."); 
        oslDrawString(10, 25, "Please Press O To Act As Server..."); 
        if (oslOskIsActive()){ 
        oslDrawOsk(); 
        if (oslGetOskStatus() == PSP_UTILITY_DIALOG_NONE) 
        { 
         if (oslOskGetResult() == OSL_OSK_CANCEL) 
         { 
          screename = (char*)"Client"; 
         } 
         else 
         { 
          oslOskGetText(screename); 
         } 
         oslEndOsk(); 
        } 
       } 
       else 
       { 
        oslDrawString(10, 10, "Please turn on the wlan switch!"); 
       } 
       oslEndDrawing(); 
      } 
      oslEndFrame(); 
      skip = oslSyncFrame(); 
      oslReadKeys(); 
      if (osl_keys->released.cross && oslIsWlanPowerOn()) 
      { 
       oslInitOsk((char*)"Please enter screename!", (char*)"Client", 99, 1, -1); 

      } 
     } 

    } 

    sceKernelExitGame(); 
    return 0; 
} 
+0

* plus je suis un exemple donc il devrait compiler * - whoa, vous avez certainement beaucoup de foi dans les exemples. –

+0

Eh bien oui les exemples sont venus avec le SDK. –

+0

Il existe en effet une fonction [oslIsWlanPowerOn()] (http://www.sakya.it/OSLib_MOD/doc/html/group___network.html#g0e7773533d1fb2ab8fee4aa3f3d98647) dans la version 'oslib' 2. Peut-être que vous faites un lien vers une ancienne version ? –

Répondre

1

Un problème est survenu lors de l'installation de sdk et je l'ai réinstallé. Voila - ça a marché. Merci à tous ceux qui ont essayé de diagnostiquer le problème.