Возник вопрос при компиляции: выдаёт ошибку “undefined reference to...”, но при попытке поиска библиотек выдаёт окно «НЕ НАЙДЕНЫ СТРОКИ “undefined reference to...” в окне вывода! В чём может быть причина? Версия 2.1.5…. Заранее спасибо!
Nikoljan Проверил, вроде ОК.
1) возьми версию 2.1.6 http://ifolder.ru/1601332
2) Выложи log.txt из каталога PSPxIDE и если возможно исходники хомбрю,
которая не компилится
// 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
Последний раз редактировалось wSlava; 25.04.2007 в 11:49.
все заменил, в мастере указал. выдаёт следующее окно:
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 секунд
может проблема в исходнике или у меня руки кривые)
Последний раз редактировалось Nikoljan; 25.04.2007 в 13:34.
Причина: добавил, подумав
Да сейчас все тетрис доделываю, чтоб полноценная игра была. MGF ковырял, добавил класс работы с аудио, сегодня выложу и MGF и дополненный SDK. с PSPxIDE в процессе, но уже подвижки есть (управление проектом уже есть, надо оттестить), многие пожелания учел.
Последний раз редактировалось wSlava; 11.05.2007 в 10:28.
Другие консоли: PS3(CECHC 60Gb), DS lite, x360(20Gb/120Gb)
Регистрация: 11.05.2007
Возраст: 43
Сообщений: 2,509
Вы сказали Спасибо: 337
Поблагодарили 988 раз(а) в 579 сообщениях
Сила репутации: 1
Репутация: 948 
(это имя известно всем)
это не от ИДЕ зависит ИМХО а от сдк, наверно там както можно мейки подправить но я не представляю как...там можно SCEkxploit юзать.
или я не понял о чём реч?
Последний раз редактировалось l3VGV; 21.07.2007 в 19:29.
Ох ждём не дождёмся новой версии IDE.
У меня стрелялка никак не хочет разрабатываться, изнервничался весь пытаясь отдебажить, очень не хватает новых возможностей.
wSlava - мы в тебя верим! (:
Скоро возмусь, а kxploit починю к выходным. тут ,понимаешь,лето,отпуск, лень короче поглотила )
добавлено через 2 минуты
Сообщение от l3VGV
Можно както передавать иде параметром ком строки путь к пспсдк?
А зачем ? это ж в опциях проекта есть. В след версии я в опции среды хотел запихнуть.
добавлено через 4 минуты
pspowner:
да, kxploit принудительно ставлю, это вылечу
"заставка к ипуту и иконка, она будет через XMB media вставляца"
а сейчас так и работает, но вставляется компайлером в папку%, а просто без kxploit не пробовал, что получится ...
Последний раз редактировалось wSlava; 09.08.2007 в 21:27.
Причина: добавил, подумав