problem compiling under Linux

rogerdv

22-08-2008 20:26:19

I got the latest version and tried to compile it under Linux. First, including the code in my project. Then using cmake. In both cases I got this:
/home/roger/projects/QuickGUIv0.9.7/QuickGUI/src/QuickGUINStateButton.cpp: In member function ‘virtual void QuickGUI::NStateButton::applyButtonDownTexture()’:
/home/roger/projects/QuickGUIv0.9.7/QuickGUI/src/QuickGUINStateButton.cpp:60: error: no se puede hacer dynamic_cast ‘it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator* [with _Iterator = QuickGUI::Widget**, _Container = std::vector<QuickGUI::Widget*, std::allocator<QuickGUI::Widget*> >]()’ (de tipo ‘class QuickGUI::Widget*’) al tipo ‘struct QuickGUI::Border*’ (target is not pointer or reference to complete type)
/home/roger/projects/QuickGUIv0.9.7/QuickGUI/src/QuickGUINStateButton.cpp: In member function ‘virtual void QuickGUI::NStateButton::applyButtonOverTexture()’:
/home/roger/projects/QuickGUIv0.9.7/QuickGUI/src/QuickGUINStateButton.cpp:81: error: no se puede hacer dynamic_cast ‘it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator* [with _Iterator = QuickGUI::Widget**, _Container = std::vector<QuickGUI::Widget*, std::allocator<QuickGUI::Widget*> >]()’ (de tipo ‘class QuickGUI::Widget*’) al tipo ‘struct QuickGUI::Border*’ (target is not pointer or reference to complete type)
/home/roger/projects/QuickGUIv0.9.7/QuickGUI/src/QuickGUINStateButton.cpp: In member function ‘virtual void QuickGUI::NStateButton::applyDefaultTexture()’:
/home/roger/projects/QuickGUIv0.9.7/QuickGUI/src/QuickGUINStateButton.cpp:102: error: no se puede hacer dynamic_cast ‘it.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator* [with _Iterator = QuickGUI::Widget**, _Container = std::vector<QuickGUI::Widget*, std::allocator<QuickGUI::Widget*> >]()’ (de tipo ‘class QuickGUI::Widget*’) al tipo ‘struct QuickGUI::Border*’ (target is not pointer or reference to complete type)
make[2]: *** [QuickGUI/src/CMakeFiles/QuickGUI.dir/QuickGUINStateButton.o] Error 1
make[1]: *** [QuickGUI/src/CMakeFiles/QuickGUI.dir/all] Error 2


I would like to have the source included in my project, so the user doesnt needs to download and compile an extra dependency. Im also trying to get the tar.bz release, in case there is some change, but the file seems to be unavailable. Do I need different codes for Windows and Linux?

kungfoomasta

28-08-2008 16:33:28

Sorry for the late response. Unfortunately I don't have access to a linux machine, nor do I know how to configure projects for building in that environment. The last available quickgui release should have linux support with it, as far as I know. I cannot really help much at this time, sorry again.

magiconexxx

07-09-2008 20:07:12

don't know if you'll check back on this thread, but I do have a working copy of QuickGUI running in my linux game project (on x86 and AMD64: gentoo and opensuse 11).

I also had a similar issue to the one you posted, whereas the latest SVN release wouldn't compile due to virtuals. It looks like the latest working copy is version 350:

URL: svn://www.stellarcommand.com/QuickGUI/trunk/src
Repository Root: svn://www.stellarcommand.com/QuickGUI
Repository UUID: 633cd29a-7c35-0410-8ce4-f613ab4d0566
Revision: 350
Node Kind: directory
Schedule: normal
Last Changed Author: ben
Last Changed Rev: 350
Last Changed Date: 2008-03-20 02:35:46 -0400 (Thu, 20 Mar 2008)
Properties Last Updated: 2008-08-25 19:29:06 -0400 (Mon, 25 Aug 2008)


That's the revision I built off of. If you need a reference point, you can check out my implementation of QuickGUI:

svn co https://swordsandstaffs.svn.sourceforge ... affs/trunk swordsandstaffs

It's under trunk/Dependencies/QuickGUI. Obviously the revision numbers are different since it's a different SVN repository. I remember changing a bit of code to prevent the GUI from trying to save the skinset on load/exit, which was problematic on linux because of file permissions.

rogerdv

09-09-2008 16:17:18

Ok, Im getting it now. Thanks a lot, I really want to try some alternative to cegui.