Вложений: 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 не пробовал, что получится ... |
Текущее время: 22:09. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.