CEGUI 0.7.1 Minwg Codeblocks

Forum for general chit-chat or off-topic discussion.

Moderators: CEGUI MVP, CEGUI Team

ppv
Just popping in
Just popping in
Posts: 3
Joined: Mon Feb 22, 2010 04:47

CEGUI 0.7.1 Minwg Codeblocks

Postby ppv » Mon Feb 22, 2010 04:55

I'm trying to create a program with code blocks + wxwidgets + opengl + cegui so far codeblocks+opengl+wxwidgets OK

but I don't know how to compile CEGUI with Mingw and there is no much information out there about it. and I think I can't use the libraries made for VC9 (I already try)

So any guide, direction, help or comment I will be most than greatful.

Thank!! :hammer:


PD:sorry for my english.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby CrazyEddie » Mon Feb 22, 2010 08:40

Hi,

First I'll qualify this by saying that I do not use Code::Blocks at all and I do not use MinGW except as a cross-compiler on linux. The rest of the reply is bullet points, since I have no real information to be able to expand these points.

  • I do not think there are any Code::Blocks specific tutorials or guides (But could be wrong, search the Wiki if you can).
  • CEGUI will compile with the MinGW compiler, however...
  • There are no prebuilt dependency libs (freetype2, pcre, etc...) made with MinGW.
  • There are no project files for Code::Blocks
  • You may be able to use the premake system we use for MSVC++ if you specify a target of 'cb-gcc' to the premake executable.

For my money, the biggest obstacle is the lack of prebuilt dependency libs.

CE.

ppv
Just popping in
Just popping in
Posts: 3
Joined: Mon Feb 22, 2010 04:47

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby ppv » Mon Feb 22, 2010 21:20

Thank you for the responce. Don't looks very promising. :(
That's why all the cegui libs are for VC?

That's again

I'll see from where I can start. :roll:

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby CrazyEddie » Tue Feb 23, 2010 09:55

That's why all the cegui libs are for VC?

Well, the real reason is that neither of us developers (as far as I know) uses MinGW / Code::Blocks, so it's something that we can't provide and / or test very well. All it really needs is for somebody with the appropriate experience to build those dependencies and contribute them to the project - we'd happily upload them to sf.net for others to use.

CE.

User avatar
jacmoe
Just can't stay away
Just can't stay away
Posts: 136
Joined: Sun Apr 03, 2005 14:18
Location: Holbaek, Denmark
Contact:

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby jacmoe » Tue Feb 23, 2010 23:07

ppv wrote:Thank you for the responce. Don't looks very promising. :(
That's why all the cegui libs are for VC?

What is wrong with VC ?

Any reason *at all* for messing around with MinGW ?
It is a hack to get GCC fooled into thinking it's running on Linux when it isn't.
If you want to use GCC, why not install Linux?

Use the best tools available on your platform.

On Windows, it is VC.
Period.

If you have problems with that, don't install Windows, as it's from the same company..

But, no matter how many times I say this, you guys just keep on choosing it.
It's hopeless ... :hammer:

ppv
Just popping in
Just popping in
Posts: 3
Joined: Mon Feb 22, 2010 04:47

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby ppv » Wed Feb 24, 2010 02:57

Any reason *at all* for messing around with MinGW ?
It is a hack to get GCC fooled into thinking it's running on Linux when it isn't.
If you want to use GCC, why not install Linux?

Use the best tools available on your platform.

On Windows, it is VC.
Period.

If you have problems with that, don't install Windows, as it's from the same company..

But, no matter how many times I say this, you guys just keep on choosing it.
It's hopeless ...


I know what you meant but I chouse it becouse I'm trying to learn a way to make a program that runs in every platform whithout changing the code (or project file). that's way I'm using wxwidgets, opengl and codeblocks (that runs also on linux). I know VC is the best IDE on windows. I had worked with it for many years.
Maybe I'm in the wrong path. If you could add any thoughts to this, I will apreciate.
PD: sorry for my english.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby CrazyEddie » Wed Feb 24, 2010 11:32

You might consider a makefile / project file generation system such as CMake or premake. It's an additional step, but it does allow the use of the best tools on each platform.

CE.

OneSandbox
Just popping in
Just popping in
Posts: 9
Joined: Mon Nov 16, 2009 18:07

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby OneSandbox » Mon Mar 29, 2010 15:30

Im trying to hijack this thread since it seams to be about the correct topic:

Using windows, code::blocks, mingw i have tried to build cegui 0.7.1
using defines: _WIN32, CEGUIBASE_EXPORTS and tried with/without CEGUI_STATIC

using CEGUI_STATIC the first error message is:

Code: Select all

...\CEGUI-0.7.1\cegui\src\CEGUIScheme.cpp|336|error: `getWindowRendererModule' was not declared in this scope|

at this line:

Code: Select all

            (*cmod).wrModule = &getWindowRendererModule();



without CEGUI_STATIC the first error message is:

Code: Select all

...\CEGUI-0.7.1\cegui\src\CEGUIScheme.cpp|325|error: ISO C++ forbids casting between pointer-to-function and pointer-to-object|

on this lines:

Code: Select all

WindowRendererModule& (*getWRModuleFunc)() =
                reinterpret_cast<WindowRendererModule&(*)()>(
                    (*cmod).dynamicModule->
                        getSymbolAddress("getWindowRendererModule")); //this is row 325


I appreciate any help you can get time to post!

//To jacmoe, porting all supporting libraries to visual compatible binaries is not an option.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby CrazyEddie » Mon Mar 29, 2010 17:39

Upgrade to MinGW 4.4 (or whatever the latest is, I forget now). 3.x which comes by default with Code::Blocks will not work.

If you're using Code::Blocks it is highly recommended that you get premake to generate the projects for you. Trying to create your own - unless you are some kind of expert and know what you're doing - is a recipe for disaster.

Also consider moving from 0.7.1 to either the cegui_mk2/branches/v0-7 svn code or to the snapshot releases, since they contain various fixes.

Note that even after heeding the above advice, the course my not be plain sailing - you will need to obtain the dependency libs from somewhere and also fix up the generated C::B projects with the appropriate library names and search paths.

Note also that MinGW support is not 'official' and it gets tested rarely (though some major work was done earlier this year, which means I know for sure it's possible to go the premake + C::B route ;)

Good luck!

CE

OneSandbox
Just popping in
Just popping in
Posts: 9
Joined: Mon Nov 16, 2009 18:07

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby OneSandbox » Tue Mar 30, 2010 09:46

CrazyEddie wrote:Upgrade to MinGW 4.4 (or whatever the latest is, I forget now). 3.x which comes by default with Code::Blocks will not work.

This fixed the compilation error.

CrazyEddie wrote:Note that even after heeding the above advice, the course my not be plain sailing - you will need to obtain the dependency libs from somewhere and also fix up the generated C::B projects with the appropriate library names and search paths.

Still working getting the dependencies to mingw binaries.

daedalus
Just popping in
Just popping in
Posts: 1
Joined: Fri Aug 27, 2010 13:17

Re: CEGUI 0.7.1 Minwg Codeblocks

Postby daedalus » Fri Aug 27, 2010 13:22

Hello.

I managed to compile CEGUI 0.7.1 with CEGUIBASE_EXPORTS define and MinGW 4.5 but I'm getting the following linker errors:

Code: Select all

.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp|| undefined reference to `CEGUI::WidgetLookManager::getSingleton()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp|| undefined reference to `CEGUI::WidgetLookManager::parseLookNFeelSpecification(CEGUI::String const&, CEGUI::String const&)'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaC1Ev[CEGUI::ComponentArea::ComponentArea()]+0xe)||undefined reference to `CEGUI::Dimension::Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaC1Ev[CEGUI::ComponentArea::ComponentArea()]+0x1c)||undefined reference to `CEGUI::Dimension::Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaC1Ev[CEGUI::ComponentArea::ComponentArea()]+0x2a)||undefined reference to `CEGUI::Dimension::Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaC1Ev[CEGUI::ComponentArea::ComponentArea()]+0x38)||undefined reference to `CEGUI::Dimension::Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaC1Ev[CEGUI::ComponentArea::ComponentArea()]+0x5c)||undefined reference to `CEGUI::Dimension::~Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaC1Ev[CEGUI::ComponentArea::ComponentArea()]+0x6e)||undefined reference to `CEGUI::Dimension::~Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaC1Ev[CEGUI::ComponentArea::ComponentArea()]+0x7d)||undefined reference to `CEGUI::Dimension::~Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaD1Ev[CEGUI::ComponentArea::~ComponentArea()]+0x1f)||undefined reference to `CEGUI::Dimension::~Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI13ComponentAreaD1Ev[CEGUI::ComponentArea::~ComponentArea()]+0x2d)||undefined reference to `CEGUI::Dimension::~Dimension()'|
.objs\cegui\CEGUIConfig_xmlHandler.o:CEGUIConfig_xmlHandler.cpp:(.text$_ZN5CEGUI17WidgetLookManager23getDefaultResourceGroupEv[CEGUI::WidgetLookManager::getDefaultResourceGroup()]+0x4)||undefined reference to `CEGUI::WidgetLookManager::d_defaultResourceGroup'|
)]+0x10)||undefined reference to `CEGUI::WidgetLookManager::d_defaultResourceGroup'|
.objs\cegui\CEGUIFreeTypeFont.o:CEGUIFreeTypeFont.cpp|| undefined reference to `CEGUI::FreeTypeFont::addFreeTypeFontProperties()'|
.objs\cegui\CEGUIPCRERegexMatcher.o:CEGUIPCRERegexMatcher.cpp|| undefined reference to `_imp__pcre_compile'|
.objs\cegui\CEGUIPCRERegexMatcher.o:CEGUIPCRERegexMatcher.cpp|| undefined reference to `_imp__pcre_exec'|
.objs\cegui\CEGUIPCRERegexMatcher.o:CEGUIPCRERegexMatcher.cpp|| undefined reference to `_imp__pcre_free'|
.objs\cegui\CEGUIScheme.o:CEGUIScheme.cpp|| undefined reference to `CEGUI::WidgetLookManager::getSingleton()'|
.objs\cegui\CEGUIScheme.o:CEGUIScheme.cpp|| undefined reference to `CEGUI::WidgetLookManager::parseLookNFeelSpecification(CEGUI::String const&, CEGUI::String const&)'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp|| undefined reference to `CEGUI::GUISheet::WidgetTypeName'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp|| undefined reference to `CEGUI::WidgetLookManager::WidgetLookManager()'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp|| undefined reference to `CEGUI::WidgetLookManager::getSingletonPtr()'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp|| undefined reference to `CEGUI::WidgetLookManager::~WidgetLookManager()'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI8GUISheetD2Ev[CEGUI::GUISheet::~GUISheet()]+0xb)||undefined reference to `vtable for CEGUI::GUISheet'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI8GUISheetD2Ev[CEGUI::GUISheet::~GUISheet()]+0x15)||undefined reference to `vtable for CEGUI::GUISheet'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI8GUISheetD1Ev[CEGUI::GUISheet::~GUISheet()]+0xb)||undefined reference to `vtable for CEGUI::GUISheet'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI8GUISheetD1Ev[CEGUI::GUISheet::~GUISheet()]+0x15)||undefined reference to `vtable for CEGUI::GUISheet'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI9ItemEntry11setSelectedEb[CEGUI::ItemEntry::setSelected(bool)]+0x23)||undefined reference to `CEGUI::ItemEntry::setSelected_impl(bool, bool)'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI9ItemEntry6selectEv[CEGUI::ItemEntry::select()]+0x1d)||undefined reference to `CEGUI::ItemEntry::setSelected_impl(bool, bool)'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI9ItemEntry8deselectEv[CEGUI::ItemEntry::deselect()]+0x1d)||undefined reference to `CEGUI::ItemEntry::setSelected_impl(bool, bool)'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI9ItemEntryD2Ev[CEGUI::ItemEntry::~ItemEntry()]+0xb)||undefined reference to `vtable for CEGUI::ItemEntry'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI9ItemEntryD2Ev[CEGUI::ItemEntry::~ItemEntry()]+0x15)||undefined reference to `vtable for CEGUI::ItemEntry'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI9ItemEntryD1Ev[CEGUI::ItemEntry::~ItemEntry()]+0xb)||undefined reference to `vtable for CEGUI::ItemEntry'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI9ItemEntryD1Ev[CEGUI::ItemEntry::~ItemEntry()]+0x15)||undefined reference to `vtable for CEGUI::ItemEntry'|
) const]+0xa)||undefined reference to `CEGUI::ItemListBase::EventNamespace'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ItemListboxD2Ev[CEGUI::ItemListbox::~ItemListbox()]+0xb)||undefined reference to `vtable for CEGUI::ItemListbox'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ItemListboxD2Ev[CEGUI::ItemListbox::~ItemListbox()]+0x15)||undefined reference to `vtable for CEGUI::ItemListbox'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ItemListboxD2Ev[CEGUI::ItemListbox::~ItemListbox()]+0x20)||undefined reference to `CEGUI::ScrolledItemListBase::~ScrolledItemListBase()'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ItemListboxD1Ev[CEGUI::ItemListbox::~ItemListbox()]+0xb)||undefined reference to `vtable for CEGUI::ItemListbox'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ItemListboxD1Ev[CEGUI::ItemListbox::~ItemListbox()]+0x15)||undefined reference to `vtable for CEGUI::ItemListbox'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ItemListboxD1Ev[CEGUI::ItemListbox::~ItemListbox()]+0x20)||undefined reference to `CEGUI::ScrolledItemListBase::~ScrolledItemListBase()'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ListboxItemD2Ev[CEGUI::ListboxItem::~ListboxItem()]+0xc)||undefined reference to `vtable for CEGUI::ListboxItem'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ListboxItemD1Ev[CEGUI::ListboxItem::~ListboxItem()]+0xc)||undefined reference to `vtable for CEGUI::ListboxItem'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ListboxItem19setSelectionColoursENS_6colourE[CEGUI::ListboxItem::setSelectionColours(CEGUI::colour)]+0x74)||undefined reference to `CEGUI::ListboxItem::setSelectionColours(CEGUI::colour, CEGUI::colour, CEGUI::colour, CEGUI::colour)'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI15ListboxTextItemD2Ev[CEGUI::ListboxTextItem::~ListboxTextItem()]+0xc)||undefined reference to `vtable for CEGUI::ListboxTextItem'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI15ListboxTextItemD1Ev[CEGUI::ListboxTextItem::~ListboxTextItem()]+0xc)||undefined reference to `vtable for CEGUI::ListboxTextItem'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI15ListboxTextItem14setTextColoursENS_6colourE[CEGUI::ListboxTextItem::setTextColours(CEGUI::colour)]+0x74)||undefined reference to `CEGUI::ListboxTextItem::setTextColours(CEGUI::colour, CEGUI::colour, CEGUI::colour, CEGUI::colour)'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI8MenuBase14setItemSpacingEf[CEGUI::MenuBase::setItemSpacing(float)]+0x21)||undefined reference to `CEGUI::ItemListBase::handleUpdatedItemData(bool)'|
) const]+0xa)||undefined reference to `CEGUI::MultiLineEditbox::EventNamespace'|
.objs\cegui\CEGUISystem.o:CEGUISystem.cpp:(.text$_ZN5CEGUI11ProgressBar4stepEv[CEGUI::ProgressBar::step()]+0x25)||undefined reference to `CEGUI::ProgressBar::setProgress(float)'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings ===|


I think I'm missing something important :roll:

Thanks for your help.

NOTE: Sorry if this is the wrong forum. But I just found this thread and posted here as it's the same topic.
EDIT: Nevermind, I fixed it myself, just forgot to add certain source files to my project. Doh. :|


Return to “Offtopic Discussion”

Who is online

Users browsing this forum: No registered users and 13 guests