frostegater
19.03.2011, 14:58
Уважаемые разработчики и просто понимающие люди, у меня к вам вопрос по использованию функции отображения часов в Homebrew.
Короче я пишу программу, почти все сделал (скоро выложу, когда уберу видимые баги) и вот меня заинтересовала функция вывода часов на экран (sceRtcGetCurrentClockLocalTime).
Все готово, но не компилится (sdk), выдает ошибку при компиляции эльфа. А именно не указывает ошибку а просто... при мейке =(
c:\>c:/pspsdk/bin/make
psp-gcc -I. -Ic:/pspsdk/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=500 -L.
-Lc:/pspsdk/psp/sdk/lib -specs=c:/pspsdk/psp/sdk/lib/prxspecs -Wl,-q,-Tc:/pspsd
k/psp/sdk/lib/linkfile.prx main.o c:/pspsdk/psp/sdk/lib/prxexports.o -lpspdeb
ug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_a
pctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o template.elf
main.o: In function `CurrentTime':
main.c:(.text+0x2c): undefined reference to `sceRtcGetCurrentClockLocalTime'
collect2: ld returned 1 exit status
make: *** [template.elf] Error 1
c:\>pause
Код программы я не буду выкладывать, вот на пример элементарная программа для просто вывода времени:
#include <pspkernel.h>
#include <stdio.h>
#include <psprtc.h>
#include <psphprm.h>
char *CurrentTime() {
char timeText[8];
pspTime rtime;
sceRtcGetCurrentClockLocalTime(&rtime);
snprintf(timeText, 8, "%i : %i" , rtime.hour , rtime.minutes);
return timeText;
}
PSP_MODULE_INFO("DisplayTime", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
int main(int argc, char *argv[])
{
printf ( CurrentTime );
return 0;
}
TARGET = DisplayTime
OBJS = main.o
INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBS = -lpsppower -lpsputility
LDFLAGS =
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = DisplayTime
PSP_FW_VERSION = 500
BUILD_PRX = 1
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
Фуух... Как я замучился, помогите пожалуйста...
Короче я пишу программу, почти все сделал (скоро выложу, когда уберу видимые баги) и вот меня заинтересовала функция вывода часов на экран (sceRtcGetCurrentClockLocalTime).
Все готово, но не компилится (sdk), выдает ошибку при компиляции эльфа. А именно не указывает ошибку а просто... при мейке =(
c:\>c:/pspsdk/bin/make
psp-gcc -I. -Ic:/pspsdk/psp/sdk/include -O2 -G0 -Wall -D_PSP_FW_VERSION=500 -L.
-Lc:/pspsdk/psp/sdk/lib -specs=c:/pspsdk/psp/sdk/lib/prxspecs -Wl,-q,-Tc:/pspsd
k/psp/sdk/lib/linkfile.prx main.o c:/pspsdk/psp/sdk/lib/prxexports.o -lpspdeb
ug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_a
pctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o template.elf
main.o: In function `CurrentTime':
main.c:(.text+0x2c): undefined reference to `sceRtcGetCurrentClockLocalTime'
collect2: ld returned 1 exit status
make: *** [template.elf] Error 1
c:\>pause
Код программы я не буду выкладывать, вот на пример элементарная программа для просто вывода времени:
#include <pspkernel.h>
#include <stdio.h>
#include <psprtc.h>
#include <psphprm.h>
char *CurrentTime() {
char timeText[8];
pspTime rtime;
sceRtcGetCurrentClockLocalTime(&rtime);
snprintf(timeText, 8, "%i : %i" , rtime.hour , rtime.minutes);
return timeText;
}
PSP_MODULE_INFO("DisplayTime", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
int main(int argc, char *argv[])
{
printf ( CurrentTime );
return 0;
}
TARGET = DisplayTime
OBJS = main.o
INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBS = -lpsppower -lpsputility
LDFLAGS =
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = DisplayTime
PSP_FW_VERSION = 500
BUILD_PRX = 1
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
Фуух... Как я замучился, помогите пожалуйста...