Вложений: 1
pspowner: вот русский FAQ в doc формате
|
Возник вопрос при компиляции: выдаёт ошибку “undefined reference to...”, но при попытке поиска библиотек выдаёт окно «НЕ НАЙДЕНЫ СТРОКИ “undefined reference to...” в окне вывода! В чём может быть причина? Версия 2.1.5…. Заранее спасибо!
|
Nikoljan Проверил, вроде ОК.
1) возьми версию 2.1.6 http://ifolder.ru/1601332 2) Выложи log.txt из каталога PSPxIDE и если возможно исходники хомбрю, которая не компилится |
вот исходник: это известная 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 ..." в окне вывода ! |
Ну эт не то, это касается объектных файлов а не библиотек, еще функция 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 |
все заменил, в мастере указал. выдаёт следующее окно:
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 секунд может проблема в исходнике или у меня руки кривые) |
вижу что у тебя в Makefile указано
hi.o hi.cpp надо только hi.o |
wSlava
Как там новая версия поживает? Есть подвижки? Ну хоть работа с проектом? ^__^ |
Да сейчас все тетрис доделываю, чтоб полноценная игра была. MGF ковырял, добавил класс работы с аудио, сегодня выложу и MGF и дополненный SDK. с PSPxIDE в процессе, но уже подвижки есть (управление проектом уже есть, надо оттестить), многие пожелания учел.
|
Вложений: 1
Up! -)
при использовании синева окошка взаимодействия с псп_линк ИДЕ выдаёт насилие над доступом и теряет связь с консолью. версия ИДЕ 2,1,6. оно мне лично не критично однако всёже пригодилось бы... Что гораздо более важно не работает постраничная печать! прошу прикрутить. -) |
+ Возможно переделать окошко поиска чтобы оно не было модальным? ну типа чтобы искать и сразу какието куски править его не закрывая.
|
+ Сделайте возможность компилить без kxploita, пожалуйста...
Всё равно никто на 1.50 не сидит... на кой он нужен то? |
это не от ИДЕ зависит ИМХО а от сдк, наверно там както можно мейки подправить но я не представляю как...там можно SCEkxploit юзать.
или я не понял о чём реч? |
Ну поправьте если неправ, но именно IDE запускает make с параметром kxploit
и избавиться от этого у меня не получилось :( |
Ну можно обманом.
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 местами -) |
SCEkxploit: - это генерация папок с префиксами __SCE и %__SCE
ну чтоб их невидно было, а мне нужно чтоб вобще тока 1 папка была... Но вот ещё вопрос, а вот эта заставка к ипуту и иконка, она будет через XMB media вставляца? :) Спасибо |
Можно както передавать иде параметром ком строки путь к пспсдк?
|
Ох ждём не дождёмся новой версии IDE.
У меня стрелялка никак не хочет разрабатываться, изнервничался весь пытаясь отдебажить, очень не хватает новых возможностей. wSlava - мы в тебя верим! (: |
Скаждым днём всё сильнее!
|
Скоро возмусь, а kxploit починю к выходным. тут ,понимаешь,лето,отпуск, лень короче поглотила )
добавлено через 2 минуты Цитата:
добавлено через 4 минуты pspowner: да, kxploit принудительно ставлю, это вылечу "заставка к ипуту и иконка, она будет через XMB media вставляца" а сейчас так и работает, но вставляется компайлером в папку%, а просто без kxploit не пробовал, что получится ... |
Если в папке с исходным файлом есть makefile, ide использует его или всё равно юзает свои опции?
|
использует, только кхплойт добавляет.
|
wSlava, вернись, мы тебя любим! ^_^
Дайошь ударный релиз новой версии IDE! Нет сил терпеть... ^_^ |
Во! )) Я тут! УРА!
Ребят, вы мне скажите, на каком языке все для зызы пишется? И что мне по порядку поставить надо на комп, чтобы писать в ИДЕ и через линк на зызе сразу тестить? Заранее благодарен )) |
Цитата:
поставить девкит - http://xorloser.com/PSPDevWin32.zip поставить PSPxIDE очень советую ещё Мортемский мгф - мега весч |
Сразу ответ!! Спасибо )
А где этот мгф взять? И надо PSPLink еще ставить, или он в IDE интегрирован? EDIT: Ясно, PSPLINK есть в PSPdev. Что такое мгф и с чем его едят? )) EDIT2: Следующая проблема! Все проинсталил, настроил makefile, нфписал маленькую прогу (скопировал гдето в инете "hello world"), пытаюсь скомпелировать - но он просто зависает (заполняет весь попап точками и не заканчивает процесс) в чем тут дело? EDIT3: Окей с этим вроде порядок, но IDE при компиляции теперь вот как матюгается: Цитата:
EDIT: Все )) все нештяк!! Клевая прога ;) спасибо за помошь! добавлено через 11 часов 32 минуты Сорри за даблпост, просто появился вопрос другой спецификации: Где найти полный список всех функций под PSP-hardware и их описание? |
Всё в сдк есть :) плюс есть от техже авторов вики в которой лежат в перемешку все неизвесные функции по адресам.
|
wSlava релизил свою сборку PSPSDK в которую вошли дофига полезных библиотек. Её можно найти где-то тут на форуме или на страничке MGF: http://elmortem.mirgames.ru/?path=psp
|
На какой версии сдк оно основана? та что от хорлосера или на новой от рс2дев?
|
На той, которую собирал wSlava. Сцылку я привёл выше.
А что там нового наворотили на ps2dev? |
описания новых функций.только зачемто раздаётся это всё странным образом, сделал бы кто компиляцию как у холусера....
|
Так wSlava вроде как брал за основу холузеровскую сборку, но потом накатывал обновление из CVS. Плюс докинул кучу всяких библиотек полезных. Вроде pnglib и т.д.
|
та я скачал вчера. поглядю как с аниме разберусь. там очень нужные функции для звука были, нужные для проигрывания 48кгц в часности...
|
:vinsent::yahoo:
|
нэ?
|
Разобрался с новым pspdev, много внутри всяких новых штук. Мне много непонятно. :) нужно опробовать коллективно.
буилд мак менять на свой вкус. я оставил внутри оригинал и немного поменяный под себя. Для работы нужно будет скачать, развернуть из архива просто в корень диска ц или где была старая(эта не умеет пути прописывать...) размер чуда 85мб в архиве. туда я явно переложил лишных бинарников от цигвина. однако лучше больше чем не работает. прошу определитесь куда залить, чтобы всем было удобно выкачивать. а я завтро на работе залью. |
Респект и уважуха ))) Главное шоб не на рапиду.ком и не на что-то требующее ИЕ и тупые бары. Предлагаю файлфронт.
|
Пля, весь день у клиентов...7 часов в настройке линуксов и тупых модемов О_О
приступаю к загрузке...по иее к шести будет готово. готовьте 85мб -) http://files.filefront.com/pspdevrar.../fileinfo.html |
Гуд! Дома скачаю, заценю.
У мну конкретная засада. Не могу отасигнить права записи на флеш0 из кернела 3ХХ. В чём беда не понимаю. sceIoAssign("flash0:", "lflash0:0,0", "flashfat0:", IOASSIGN_RDWR, NULL, 0); возвращает значение < 0, т.е. неудача. (?)Код ошибки - 0x800200d3, illegal adress Эта строчка внутри KMode PRX, либа грузица из ебута. Проверил, функция выполняется. |
Хорошо, добавляю перед ассигном pspSdkSetK1(0);
номер ошибки меняется на 0x80020326,Aliasisalreadyused Логично предполагаю, что дело в псевдониме flash0, который уже юзаецца кем-то. Меняю на myflash0, получаю ошибку 0x8001000D (NoFileAccessPermission ) |
Текущее время: 13:18. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.