Page 1 of 1

Problem with compiling 0.0 SVN release

Posted: 12 Jan 2008, 19:43
by strikerbcb
hello, i am trying to compile the latest version of 0.0 SVN TMW, but i give this error :

Compiling: src\gui\inttextbox.cpp
E:\MDD 2D\src\gui\inttextbox.cpp: In member function `virtual void IntTextBox::keyPressed(gcn::KeyEvent&)':
E:\MDD 2D\src\gui\inttextbox.cpp:41: error: `DELETE' is not a member of `gcn::Key'

i know this is a issue with Guichan, but what the workaround for fixes this ?

edit : i am using CodeBlocks latest svn build in Windows XP SP2 and with the devpack of tmw with all dependences.

Thanks

Posted: 12 Jan 2008, 20:16
by Crush

Posted: 13 Jan 2008, 01:17
by strikerbcb
i comment the DELETE function in key.cpp and the part of DELETE in other file, with this the compiles continue with the compilation, but in the end i give this error :

Linking executable: tmw.exe
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x181): undefined reference to `Resource::incRef()'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x21d): undefined reference to `Resource::incRef()'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x273): undefined reference to `ResourceManager::getInstance()'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x28f): undefined reference to `ResourceManager::getSprite(std::string const&, int)'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x31f): undefined reference to `Resource::decRef()'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x350): undefined reference to `Resource::decRef()'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x366): undefined reference to `Resource::decRef()'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x3a8): undefined reference to `SpriteDef::getAction(SpriteAction) const'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x3d3): undefined reference to `Action::getAnimation(int) const'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x4c6): undefined reference to `Animation::isTerminator(Frame const&)'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x575): undefined reference to `Animation::isTerminator(Frame const&)'
.objs\src\animatedsprite.o:animatedsprite.cpp:(.text+0x64b): undefined reference to `Action::getAnimation(int) const'
.objs\src\being.o:being.cpp:(.text+0x5a8): undefined reference to `ResourceManager::getInstance()'
.objs\src\being.o:being.cpp:(.text+0x606): undefined reference to `ResourceManager::getImageSet(std::string const&, int, int)'
.objs\src\being.o:being.cpp:(.text+0xed0): undefined reference to `ResourceManager::getInstance()'
.objs\src\being.o:being.cpp:(.text+0xf2e): undefined reference to `ResourceManager::getImageSet(std::string const&, int, int)'
.objs\src\being.o:being.cpp:(.text+0x1480): undefined reference to `Resource::decRef()'
.objs\src\being.o:being.cpp:(.text+0x1860): undefined reference to `Resource::decRef()'
.objs\src\being.o:being.cpp:(.text+0x1c40): undefined reference to `Resource::decRef()'
.objs\src\being.o:being.cpp:(.text+0x22b5): undefined reference to `hitYellowFont'
.objs\src\being.o:being.cpp:(.text+0x2408): undefined reference to `hitBlueFont'
.objs\src\being.o:being.cpp:(.text+0x2412): undefined reference to `hitRedFont'
.objs\src\being.o:being.cpp:(.text+0x2b68): undefined reference to `ImageSet::get(unsigned int)'
.objs\src\being.o:being.cpp:(.text+0x2bc2): undefined reference to `speechFont'
.objs\src\beingmanager.o:beingmanager.cpp:(.text+0x59f): undefined reference to `MessageOut::MessageOut(Network*)'
.objs\src\beingmanager.o:beingmanager.cpp:(.text+0x5b2): undefined reference to `MessageOut::writeInt16(short)'
.objs\src\beingmanager.o:beingmanager.cpp:(.text+0x5c4): undefined reference to `MessageOut::writeInt32(int)'
.objs\src\configuration.o:configuration.cpp:(.text+0x2c1): undefined reference to `XML::getProperty(_xmlNode*, char const*, std::string const&)'
.objs\src\configuration.o:configuration.cpp:(.text+0x36c): undefined reference to `XML::getProperty(_xmlNode*, char const*, std::string const&)'
.objs\src\engine.o:engine.cpp:(.text+0x3a3): undefined reference to `ResourceManager::getInstance()'
.objs\src\engine.o:engine.cpp:(.text+0x3b9): undefined reference to `ResourceManager::exists(std::string const&)'
.objs\src\engine.o:engine.cpp:(.text+0x3e7): undefined reference to `MapReader::readMap(std::string const&)'
.objs\src\engine.o:engine.cpp:(.text+0x664): undefined reference to `ResourceManager::getImage(std::string const&)'
.objs\src\engine.o:engine.cpp:(.text+0x791): undefined reference to `Minimap::setMapImage(Image*)'
.objs\src\engine.o:engine.cpp:(.text+0x7c5): undefined reference to `viewport'
.objs\src\engine.o:engine.cpp:(.text+0x7cd): undefined reference to `Viewport::setMap(Map*)'
.objs\src\engine.o:engine.cpp:(.text+0x1013): undefined reference to `MessageOut::MessageOut(Network*)'
.objs\src\engine.o:engine.cpp:(.text+0x1026): undefined reference to `MessageOut::writeInt16(short)'
.objs\src\engine.o:engine.cpp:(.text+0x10f7): undefined reference to `viewport'
.objs\src\engine.o:engine.cpp:(.text+0x1130): undefined reference to `gui'
.objs\src\engine.o:engine.cpp:(.text+0x113a): undefined reference to `gui'
.objs\src\floor_item.o:floor_item.cpp:(.text+0x1a7): undefined reference to `ItemDB::get(int)'
.objs\src\floor_item.o:floor_item.cpp:(.text+0x2d9): undefined reference to `ItemDB::get(int)'
.objs\src\game.o:game.cpp:(.text+0x1f9): undefined reference to `ChatWindow::ChatWindow(Network*)'
.objs\src\game.o:game.cpp:(.text+0x255): undefined reference to `MenuWindow::MenuWindow()'
.objs\src\game.o:game.cpp:(.text+0x2c0): undefined reference to `StatusWindow::StatusWindow(LocalPlayer*)'
.objs\src\game.o:game.cpp:(.text+0x32e): undefined reference to `MiniStatusWindow::MiniStatusWindow()'
.objs\src\game.o:game.cpp:(.text+0x3a3): undefined reference to `BuyDialog::BuyDialog(Network*)'
.objs\src\game.o:game.cpp:(.text+0x418): undefined reference to `SellDialog::SellDialog(Network*)'
.objs\src\game.o:game.cpp:(.text+0x486): undefined reference to `BuySellDialog::BuySellDialog()'
Process terminated with status 1 (0 minutes, 36 seconds)
50 errors, 0 warnings

Posted: 13 Jan 2008, 01:55
by Crush
The project file is outdated. Add the missing and remove the nonexistent sourcecode files from your project.

Posted: 13 Jan 2008, 13:40
by strikerbcb
don´t work ... when i put this : '#undef DELETE' no work ...

but if i make this workarounds :

in key.hpp ( Guichan libraries )
// DELETE

in inttextbox.cpp
// || key.getValue() == gcn::Key::DELETE)

then the compiles pass, but in the end he makes the exe, but no work, gives a segment falt, and give this error in compiler :

Compiling: src\resources\imageloader.cpp
In file included from E:\MDD 2D\src\resources\imageloader.cpp:27:
D:/codeblocks/include/guichan/sdl/sdlpixel.hpp: In function `void gcn::SDLputPixelAlpha(SDL_Surface*, int, int, const gcn::Color&)':
D:/codeblocks/include/guichan/sdl/sdlpixel.hpp:242: warning: unused variable 'c'
Compiling: src\resources\imageset.cpp
Compiling: src\resources\imagewriter.cpp
Compiling: src\resources\itemdb.cpp
Compiling: src\resources\iteminfo.cpp
Compiling: src\resources\mapreader.cpp
Compiling: src\resources\monsterdb.cpp
Compiling: src\resources\monsterinfo.cpp
Compiling: src\resources\music.cpp
Compiling: src\resources\resource.cpp
Compiling: src\resources\resourcemanager.cpp
Compiling: src\resources\soundeffect.cpp
Compiling: src\resources\spritedef.cpp
Compiling: src\simpleanimation.cpp
Compiling: src\sound.cpp
Compiling: src\textparticle.cpp
Compiling: src\tmw.rc
Compiling: src\utils\base64.cpp
Compiling: src\utils\strprintf.cpp
Compiling: src\utils\xml.cpp
Linking executable: tmw.exe
Output size is 3.30 MB
Process terminated with status 0 (2 minutes, 15 seconds)
0 errors, 1 warnings

thanks

Posted: 13 Jan 2008, 16:47
by Crush
This compiler log looks like the compiling went fine. That warning about an unused variable is quite irrelevant. TMW crashing with a segmentation fault can have like 432908270557 reasons. When you post the logfile (tmw.log) we can look into it.

Also note that commenting one identifier in an enum is quite dangerous because it changes the numerical values of all the identifiers that follow. When using an #undef doesn't work you should rename it instead.

Posted: 13 Jan 2008, 17:34
by strikerbcb
i put the newer dll´s in the folder of game and works fine ... i play a bit and i don´t see any errors in game ...