Модель консоли: PSP-3004
Регистрация: 31.03.2011
Возраст: 34
Сообщений: 13
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Сила репутации: 0Репутация: 0 
(пока ничем не отличился)
|
Хелп
Суть проблемы такая, скачал LTE движок. Поставил 8ю студию, psp sdk и т.п.
Проблема заключается в том что LTE движок не хочет нормально компилиться вот пример кода:
#include <engine.h>
#include <common.h>
#define printf pspDebugScreenPrintf
using namespace engine;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
using namespace audio;
/* Define the module info section */
PSP_MODULE_INFO("template", 0, 1, 1);
/* Define the main thread's attribute value (optional) */
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
int main(int argc, char *argv[])
{
setupPSP();
engineDevice *device = createDevice();
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
gui::IGUIStaticText* statusText = guienv->addStaticText(L"Hello World!",
rect<int>(10,10,260,22), true);
IAnimatedMesh* mesh = smgr->getMesh("mediasydney.md2");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation ( scene::EMAT_STAND );
node->setMaterialTexture( 0, driver->getTexture("mediasydney.bmp") );
node->setScale(core::vector3df(0.7f, 0.7f,0.7f));
}
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
core::stringw status = L"Hello World! FPS = ";
status += driver->getFPS();
statusText->setText(status.c_str());
}
// sleep thread
sceKernelSleepThreadCB();
return 0;
}
и получаю вот такую ошибку
1>main.c (21) :20: error: engine.h: No such file or directory
1>main.c (22) :20: error: common.h: No such file or directory
1>main.c (27) : error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
1>main.c (28) : error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
1>main.c (29) : error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
1>main.c (30) : error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
1>main.c (31) : error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
1>main.c (32) : error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
1>main.c (33) : error: expected '=', ',', ';', 'asm' or '__attribute__' before 'namespace'
1>main.c (38) : error: expected declaration specifiers or '...' before string constant
1>main.c (38) : error: expected declaration specifiers or '...' before numeric constant
1>main.c (38) : error: expected declaration specifiers or '...' before numeric constant
1>main.c (38) : error: expected declaration specifiers or '...' before numeric constant
1>main.c (38) : warning: data definition has no type or storage class
1>main.c (38) : warning: type defaults to 'int' in declaration of 'PSP_MODULE_INFO'
1>main.c (41) : error: expected ')' before '|' token
1>main.c: In function 'main':
1>main.c (76) : warning: implicit declaration of function 'setupPSP'
1>main.c (80) : error: 'engineDevice' undeclared (first use in this function)
1>main.c (80) : error: (Each undeclared identifier is reported only once
1>main.c (80) : error: for each function it appears in.)
1>main.c (80) : error: 'device' undeclared (first use in this function)
1>main.c (80) : warning: implicit declaration of function 'createDevice'
1>main.c (83) : error: 'IVideoDriver' undeclared (first use in this function)
1>main.c (83) : error: 'driver' undeclared (first use in this function)
1>main.c (84) : error: 'ISceneManager' undeclared (first use in this function)
1>main.c (84) : error: 'smgr' undeclared (first use in this function)
1>main.c (85) : error: 'IGUIEnvironment' undeclared (first use in this function)
1>main.c (85) : error: 'guienv' undeclared (first use in this function)
1>main.c (88) : error: expected expression before ':' token
1>main.c (92) : error: 'IAnimatedMesh' undeclared (first use in this function)
1>main.c (92) : error: 'mesh' undeclared (first use in this function)
1>main.c (93) : error: 'IAnimatedMeshSceneNode' undeclared (first use in this function)
1>main.c (93) : error: 'node' undeclared (first use in this function)
1>main.c (97) : error: 'EMF_LIGHTING' undeclared (first use in this function)
1>main.c (97) : error: 'false' undeclared (first use in this function)
1>main.c (98) : error: 'scene' undeclared (first use in this function)
1>main.c (98) : error: expected ')' before ':' token
1>main.c (102) : error: 'core' undeclared (first use in this function)
1>main.c (102) : error: expected ')' before ':' token
1>main.c (105) : warning: implicit declaration of function 'vector3df'
1>main.c (110) : error: 'true' undeclared (first use in this function)
1>main.c (110) : warning: implicit declaration of function 'SColor'
1>main.c (118) : error: expected expression before ':' token
1>main.c (119) : error: 'status' undeclared (first use in this function)
1>main.c (120) : error: 'statusText' undeclared (first use in this function)
1>main.c (127) : warning: implicit declaration of function 'sceKernelSleepThreadCB'
1>main.c (118) : warning: label 'core' defined but not used
1>main.c (88) : warning: label 'gui' defined but not used
все инклюды движка, добавил к инклюдам вижуал студии. С чем может быть связана проблема? может что-то делаю не правильно, просто раньше не работал с движками... (в инете пытался найти решение данной проблемы но ничего нормального не получилось)
пытался прописывать прямые пути к файлам но ничего толкового и путного с этого не получилось.
Если убрать все using namespace и писать каждую функцию полным путем аля engine::... то так компилятору вроде бы нравилось, но писать каждый раз полный путь к функции как понимаете не очень хочется. Заранее спасибо за помощь.
Kirill_Mag добавил 03.04.2011 в 18:14
после некоторых преобразований и т.п. получил такой список ошибок
1>main.cpp (8) :20: error: engine.h: No such file or directory
1>main.cpp (9) :20: error: common.h: No such file or directory
1>main.cpp (16) : error: 'engine' is not a namespace-name
1>main.cpp (16) : error: expected namespace-name before ';' token
1>main.cpp (23) : error: 'core' is not a namespace-name
1>main.cpp (23) : error: expected namespace-name before ';' token
1>main.cpp (24) : error: 'scene' is not a namespace-name
1>main.cpp (24) : error: expected namespace-name before ';' token
1>main.cpp (25) : error: 'video' is not a namespace-name
1>main.cpp (25) : error: expected namespace-name before ';' token
1>main.cpp (26) : error: 'io' is not a namespace-name
1>main.cpp (26) : error: expected namespace-name before ';' token
1>main.cpp (27) : error: 'gui' is not a namespace-name
1>main.cpp (27) : error: expected namespace-name before ';' token
1>main.cpp (28) : error: 'audio' is not a namespace-name
1>main.cpp (28) : error: expected namespace-name before ';' token
1>main.cpp: In function 'int main()':
1>main.cpp (40) : error: 'setupPSP' was not declared in this scope
1>main.cpp (58) : error: 'engineDevice' was not declared in this scope
1>main.cpp (58) : error: 'device' was not declared in this scope
1>main.cpp (59) : error: 'createDevice' was not declared in this scope
1>main.cpp (67) : error: 'IVideoDriver' was not declared in this scope
1>main.cpp (67) : error: 'driver' was not declared in this scope
1>main.cpp (68) : error: 'ISceneManager' was not declared in this scope
1>main.cpp (68) : error: 'smgr' was not declared in this scope
1>main.cpp (69) : error: 'IGUIEnvironment' was not declared in this scope
1>main.cpp (69) : error: 'guienv' was not declared in this scope
1>main.cpp (76) : error: 'gui' has not been declared
1>main.cpp (76) : error: 'statusText' was not declared in this scope
1>main.cpp (77) : error: 'rect' was not declared in this scope
1>main.cpp (77) : error: expected primary-expression before 'int'
1>main.cpp (90) : error: 'IAnimatedMesh' was not declared in this scope
1>main.cpp (90) : error: 'mesh' was not declared in this scope
1>main.cpp (91) : error: 'IAnimatedMeshSceneNode' was not declared in this scope
1>main.cpp (91) : error: 'node' was not declared in this scope
1>main.cpp (103) : error: 'EMF_LIGHTING' was not declared in this scope
1>main.cpp (104) : error: 'scene' has not been declared
1>main.cpp (108) : error: 'core' has not been declared
1>main.cpp (115) : error: 'vector3df' was not declared in this scope
1>main.cpp (132) : error: 'SColor' was not declared in this scope
1>main.cpp (140) : error: 'core' has not been declared
1>main.cpp (140) : error: expected `;' before 'status'
1>main.cpp (141) : error: 'status' was not declared in this scope
1>main.cpp (147) : error: 'sceKernelSleepThreadCB' was not declared in this scope
при таком коде (взял чистый пример который есть в движке без каких либо изменений и т.п.)
#include <engine.h>
#include <common.h>
using namespace engine;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
using namespace audio;
int main()
{
setupPSP();
engineDevice *device =
createDevice();
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
gui::IGUIStaticText* statusText = guienv->addStaticText(L"Hello World!",
rect<int>(10,10,260,22), true);
IAnimatedMesh* mesh = smgr->getMesh("ms0:/media/sydney.md2");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation ( scene::EMAT_STAND );
node->setMaterialTexture( 0, driver->getTexture("ms0:/media/sydney.bmp") );
/
node->setScale(core::vector3df(0.7f, 0.7f,0.7f));
}
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
core::stringw status = L"Hello World! FPS = ";
status += driver->getFPS();
statusText->setText(status.c_str());
}
sceKernelSleepThreadCB();
return 0;
}
Kirill_Mag добавил 03.04.2011 в 18:16
1>main.cpp ( :20: error: engine.h: No such file or directory
1>main.cpp (9) :20: error: common.h: No such file or directory
1>main.cpp (16) : error: 'engine' is not a namespace-name
1>main.cpp (16) : error: expected namespace-name before ';' token
1>main.cpp (23) : error: 'core' is not a namespace-name
1>main.cpp (23) : error: expected namespace-name before ';' token
1>main.cpp (24) : error: 'scene' is not a namespace-name
1>main.cpp (24) : error: expected namespace-name before ';' token
1>main.cpp (25) : error: 'video' is not a namespace-name
1>main.cpp (25) : error: expected namespace-name before ';' token
1>main.cpp (26) : error: 'io' is not a namespace-name
1>main.cpp (26) : error: expected namespace-name before ';' token
1>main.cpp (27) : error: 'gui' is not a namespace-name
1>main.cpp (27) : error: expected namespace-name before ';' token
1>main.cpp (2 : error: 'audio' is not a namespace-name
1>main.cpp (2 : error: expected namespace-name before ';' token
причину этих ошибок не могу понять хоть убейте. Файлы подключаемые он знает где находятся. Наводя на функции из этих файлов пишет их прототипы и т.п. Почему не хочет нормально работать понять не могу(((
Последний раз редактировалось Kirill_Mag; 03.04.2011 в 18:19.
Причина: добавил, подумав
|