Page 1 of 1

Needed lib files

Posted: Sun May 04, 2008 18:30
by MrDoom
Hey, could someone tell me exactly what lib files I need to add to my dependency list to get CEGUI and it's "DirectX9Renderer" to link properly.

At the minute it seems the more libs I add to my dependency list (to try and fix the linker errors) the more linker errors I get.

Thanks.

Posted: Mon May 05, 2008 08:17
by CrazyEddie
Hi,

Which compiler is this using?

Are you dynamically or statically linking?

Thanks

CE.

Posted: Mon May 05, 2008 12:18
by MrDoom
MSVC8.

I can either link dynamically or statically, I don't really mind; am I correct in thinking that if I link dynamically, I need to put the DLL files in the same directory as the executable for it to run?

You're working on your bank holiday, kudos. :D

EDIT
I got it working with a dynamic link by using the list from here:
http://www.cegui.org.uk/phpBB2/viewtopi ... 4489#14489

I had to rebuild CEGUI from source so that it worked with my version of DirectX, but that was it.

I would just like to point out that in this tutorial, you say:
Create the CEGUI::System object to initialise the system

Another extremely simple step. Just instantiate the CEGUI::System object by using 'new' and passing in a pointer to the CEGUI::Renderer that you created in the previous step. This will cause the entire system to initialise itself.

new CEGUI::System( myRenderer );
I find that a little misleading because if you do not store a pointer to that new'd object, it will cause a memory leak because you can't delete it later.

Posted: Mon May 05, 2008 13:28
by CrazyEddie
For dynamic linking, it should be something like (I think):

Debug Build
========
CEGUIBase_d.lib
DirectX9GUIRenderer_d.lib
d3d9.lib
Maybe: d3dx9d.lib
Maybe: winmm.lib

Release Build
=========
CEGUIBase.lib
DirectX9GUIRenderer.lib
d3d9.lib
Maybe: d3dx9.lib
Maybe: winmm.lib

And yeah, you need the related DLLs in your path or in the working directory.

MrDoom wrote:You're working on your bank holiday, kudos. :D

:lol: CEGUI is "fun stuff" not work :P

CE.

Posted: Mon May 05, 2008 13:30
by CrazyEddie
MrDoom wrote:I would just like to point out that in this tutorial, you say:
Create the CEGUI::System object to initialise the system

Another extremely simple step. Just instantiate the CEGUI::System object by using 'new' and passing in a pointer to the CEGUI::Renderer that you created in the previous step. This will cause the entire system to initialise itself.

new CEGUI::System( myRenderer );
I find that a little misleading because if you do not store a pointer to that new'd object, it will cause a memory leak because you can't delete it later.

How about:

Code: Select all

delete CEGUI::System::getSingletonPtr();