Я не знаю, почему я получаю эту ошибку компоновщика, потому что я связал нужную библиотеку, я уверен в этом, если я не связываю неправильную библиотеку, но, возможно, кто-то знает, какая библиотека является подходящей для функции SonyOskGu. Ошибка: main.c :(. Text + 0x134): неопределенная ссылка на `SonyOskGu (char *, unsigned int, char *, char *, int) '. Код ниже:
#include <psposk.h>
#include "atoi.h"
PSP_MODULE_INFO("OSLib Sample", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
#define printf oslPrintf
#define ERROR_SUCCESS 0
#define ERROR -1;
int main(void)
{
oslInit(0);
oslInitGfx(OSL_PF_8888, 0);
oslInitConsole();
oslInitAudio();
printf("Press Any Key To Start OSK In Order To Enter Path Of Audio File To Play Audio:");
char* path = (char*)malloc(255);
SonyOskGu(path,0xff918f8c,0,0,100);
printf("The path is");
OSL_SOUND* sound = oslLoadSoundFile(path, OSL_FMT_NONE);
if (sound == NULL){
oslAssert(sound == NULL);
oslEndGfx();
oslQuit();
return ERROR;
}
else
{
printf("Press X To Play Or Press O To Stop!");
int key = oslWaitKey();
if (key == OSL_KEY_CROSS)
{
oslPlaySound(sound, 0);
}
else if (key == OSL_KEY_CIRCLE)
{
oslStopSound(sound);
}
}
oslEndGfx();
oslQuit();
return ERROR_SUCCESS;
}
Makefile находится ниже:
TARGET = test
OBJS = main.o
INCDIR =
CFLAGS = -G4 -Wall -O2
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
LDFLAGS =
STDLIBS= -losl -lpng -lz \
-lpspsdk -lpspctrl -lpspumd -lpsprtc -lpsppower -lpspgu -lpspaudiolib -lpspaudio -lm -lpsposk -lpspgum -lpspgu -lpng -lz
LIBS=$(STDLIBS)$(YOURLIBS)
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = PSP Audio Player
PSP_EBOOT_ICON = ICON0.png
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak