PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Программирование для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=101)
-   -   PSPxIDE - мини IDE для разработок под PSP (https://www.pspx.ru/forum/showthread.php?t=28898)

wSlava 22.04.2007 21:41

Вложений: 1
pspowner: вот русский FAQ в doc формате

Nikoljan 24.04.2007 21:34

Возник вопрос при компиляции: выдаёт ошибку “undefined reference to...”, но при попытке поиска библиотек выдаёт окно «НЕ НАЙДЕНЫ СТРОКИ “undefined reference to...” в окне вывода! В чём может быть причина? Версия 2.1.5…. Заранее спасибо!

wSlava 24.04.2007 23:43

Nikoljan Проверил, вроде ОК.
1) возьми версию 2.1.6 http://ifolder.ru/1601332
2) Выложи log.txt из каталога PSPxIDE и если возможно исходники хомбрю,
которая не компилится

Nikoljan 25.04.2007 10:30

вот исходник: это известная hello world

// Hello World - My First App for the PSP!!!
#include <pspkernel.h> // PSP kernel functions include file.
#include <pspdebug.h> // PSP debug functions include file.
/* Set the application information. */
PSP_MODULE_INFO(“Hello World”, 0, 1, 1);
/* Define debug parameters. */
/* Replace standard C printf() function with PSP printf()
function. */
#define printf pspDebugScreenPrintf
/* Exit callback */
int exit_callback(int arg1, int arg2, void *common)
{
sceKernelExitGame(); // Exit the application.
return 0;
}
/* Callback thread */
int CallbackThread(SceSize args, void *argp)
{
// Local vars.
int cbid;
// Create the exit callback in for the PSP shell.
cbid = sceKernelCreateCallback(“Exit Callback”, exit_callback,
NULL);
sceKernelRegisterExitCallback(cbid);
// Sleep the kernel until we tell it to exit.
sceKernelRegisterExitCallback(cbid);
// Return success.
return 0;
}
/* Set up the callback thread and return the thread ID */
int SetupCallbacks(void)
{
// Local vars.
int thid = 0; /* Thread ID */
// Create the thread.
thid = sceKernelCreateThread(“update_thread”, CallbackThread,
0x11, 0xFA0, 0, 0);
if (thid >= 0)
{
sceKernelStartThread(thid, 0, 0);
}
}
/* Main Function */
int main()
{
pspDebugScreenInit();
SetupCallbacks();
printf(“Hello World!”);
sceKernelSleepThread();
// Return success.
return 0;
}

а вот и сам log:

OUT) ******************************************
OUT) Компиляция/Построение
OUT) ******************************************
OUT) Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
>set PSPDEV=C:/pspdev
>set PATH=%PSPDEV%/bin;%PATH%
>C:\pspdev\bin\make.exe kxploit 2>>deberr.tmp
psp-gcc -I. -IC:/pspdev/psp/sdk/include -g -G0 -Wall -O0 -L. -LC:/pspdev/psp/sdk/lib -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o hello.elf
>echo 1 > OK.tmp"
>
OUT) ******************************************
OUT) Ошибки/Предупреждения ...
OUT) ******************************************
OUT) /cygdrive/c/pspdev/bin/../lib/gcc/psp/4.0.2/../../../../psp/lib/crt0.o: In function `_main':
/tmp/pspdev/pspsdk/src/startup/crt0.c:86: undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [hello.elf] Error 1
ATH=%PSPDEV%/bin;%PATH%
C:\Documents and Settings\Администратор\Мои документы\Коля\PSP>C:\pspdev\bin\make.exe kxploit 2>>deberr.tmp
psp-gcc -I. -IC:/pspdev/psp/sdk/include -g -G0 -Wall -O0 -L. -LC:/pspdev/psp/sdk/lib -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel -o hello.elf
C:\Documents and Settings\Администратор\Мои документы\Коля\PSP>echo 1 > OK.tmp"
C:\Documents and Settings\Администратор\Мои документы\Коля\PSP>
OUT) Компиляция прервана !
OUT) Время компиляции: 0:00:01
Action) 25.04.2007 10:27:12 Find LIBS
DLG) 25.04.2007 10:27:12 Не найдены строки "undefined reference to ..." в окне вывода !

wSlava 25.04.2007 11:38

Ну эт не то, это касается объектных файлов а не библиотек, еще функция main определена некорректно.
Вот как лечится:
1) замени "int main()" на "int main(int argc, char* argv[])"
2) в мастере Makefile в в объектах укажи <имя как у тебя называется файл cpp>.o

Я в следующих версиях обязательно сделаю автоматическое заполнение oбъектных файлов,
пока их нужно руками прописывать

P.S. Я твой исходник сохранил в файл ttt.cpp, вот в итоге Makefile
TARGET=ttt
OBJS=ttt.o
CFLAGS=-G0 -Wall -O2
CXXFLAGS=$(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS=$(CFLAGS)
BUILD_PRX=0
LIBDIR=
LDFLAGS=
LIBS=
EXTRA_TARGETS=EBOOT.PBP
PSP_EBOOT_TITLE=ttt
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
#PDEBUG_TYPE=0

Nikoljan 25.04.2007 13:34

все заменил, в мастере указал. выдаёт следующее окно:

OUT) ******************************************
OUT) Компиляция/Построение
OUT) ******************************************
OUT) Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
>set PSPDEV=C:/pspdev
>set PATH=%PSPDEV%/bin;%PATH%
>C:\pspdev\bin\make.exe kxploit 2>>deberr.tmp
psp-g++ -I. -IC:/pspdev/psp/sdk/include -g -G0 -Wall -O0 -I. -IC:/pspdev/psp/sdk/include -g -G0 -Wall -O0 -fno-exceptions -fno-rtti -c -o hi.o hi.cpp
>echo 1 > OK.tmp"
>
OUT) ******************************************
OUT) Ошибки/Предупреждения ...
OUT) ******************************************
OUT) hi.cpp(22) : error: stray '\147' in program
hi.cpp(22) : error: stray '\148' in program
hi.cpp(36) : error: stray '\147' in program
hi.cpp(36) : error: stray '\148' in program
hi.cpp(48) : error: stray '\147' in program
hi.cpp(48) : error: stray '\148' in program
hi.cpp: In function 'int CallbackThread(SceSize, void*)':
hi.cpp(22) : error: 'Exit' was not declared in this scope
hi.cpp: In function 'int SetupCallbacks()':
hi.cpp(36) : error: 'update_thread' was not declared in this scope
hi.cpp: In function 'int main(int, char**)':
hi.cpp(48) : error: 'Hello' was not declared in this scope
hi.cpp: In function 'int SetupCallbacks()':
hi.cpp(42) : warning:
OUT) Компиляция прервана !
OUT) Время компиляции: 0:00:01

добавлено через 38 секунд
может проблема в исходнике или у меня руки кривые)

wSlava 25.04.2007 14:44

вижу что у тебя в Makefile указано
hi.o hi.cpp
надо только
hi.o

Mortem 10.05.2007 22:46

wSlava
Как там новая версия поживает? Есть подвижки? Ну хоть работа с проектом? ^__^

wSlava 11.05.2007 10:22

Да сейчас все тетрис доделываю, чтоб полноценная игра была. MGF ковырял, добавил класс работы с аудио, сегодня выложу и MGF и дополненный SDK. с PSPxIDE в процессе, но уже подвижки есть (управление проектом уже есть, надо оттестить), многие пожелания учел.

l3VGV 15.07.2007 15:56

Вложений: 1
Up! -)
при использовании синева окошка взаимодействия с псп_линк ИДЕ выдаёт насилие над доступом и теряет связь с консолью. версия ИДЕ 2,1,6.

оно мне лично не критично однако всёже пригодилось бы...

Что гораздо более важно не работает постраничная печать! прошу прикрутить. -)

l3VGV 21.07.2007 17:55

+ Возможно переделать окошко поиска чтобы оно не было модальным? ну типа чтобы искать и сразу какието куски править его не закрывая.

pspowner 21.07.2007 19:04

+ Сделайте возможность компилить без kxploita, пожалуйста...

Всё равно никто на 1.50 не сидит... на кой он нужен то?

l3VGV 21.07.2007 19:28

это не от ИДЕ зависит ИМХО а от сдк, наверно там както можно мейки подправить но я не представляю как...там можно SCEkxploit юзать.
или я не понял о чём реч?

pspowner 21.07.2007 19:29

Ну поправьте если неправ, но именно IDE запускает make с параметром kxploit

и избавиться от этого у меня не получилось :(

l3VGV 21.07.2007 19:52

Ну можно обманом.
C:\pspdev\psp\sdk\lib\build.mak

kxploit: $(TARGET).elf $(PSP_EBOOT_SFO)
mkdir2 -p "$(TARGET)"
$(STRIP) $(TARGET).elf -o $(TARGET)/$(PSP_EBOOT)
mkdir2 -p "$(TARGET)%"
$(PACK_PBP) "$(TARGET)%/$(PSP_EBOOT)" $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \
$(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \
$(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR)

SCEkxploit: $(TARGET).elf $(PSP_EBOOT_SFO)
mkdir2 -p "__SCE__$(TARGET)"
$(STRIP) $(TARGET).elf -o __SCE__$(TARGET)/$(PSP_EBOOT)
mkdir2 -p "%__SCE__$(TARGET)"
$(PACK_PBP) "%__SCE__$(TARGET)/$(PSP_EBOOT)" $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \
$(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \
$(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR)


поменять SCEkxploit и kxploit местами -)

pspowner 21.07.2007 20:22

SCEkxploit: - это генерация папок с префиксами __SCE и %__SCE
ну чтоб их невидно было, а мне нужно чтоб вобще тока 1 папка была...

Но вот ещё вопрос, а вот эта заставка к ипуту и иконка, она будет через XMB media вставляца? :) Спасибо

l3VGV 26.07.2007 19:19

Можно както передавать иде параметром ком строки путь к пспсдк?

Mortem 28.07.2007 00:54

Ох ждём не дождёмся новой версии IDE.
У меня стрелялка никак не хочет разрабатываться, изнервничался весь пытаясь отдебажить, очень не хватает новых возможностей.
wSlava - мы в тебя верим! (:

l3VGV 09.08.2007 20:00

Скаждым днём всё сильнее!

wSlava 09.08.2007 21:27

Скоро возмусь, а kxploit починю к выходным. тут ,понимаешь,лето,отпуск, лень короче поглотила )

добавлено через 2 минуты
Цитата:

Сообщение от l3VGV (Сообщение 483035)
Можно както передавать иде параметром ком строки путь к пспсдк?

А зачем ? это ж в опциях проекта есть. В след версии я в опции среды хотел запихнуть.

добавлено через 4 минуты
pspowner:
да, kxploit принудительно ставлю, это вылечу

"заставка к ипуту и иконка, она будет через XMB media вставляца"
а сейчас так и работает, но вставляется компайлером в папку%, а просто без kxploit не пробовал, что получится ...


Текущее время: 22:09. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.