Needed lib files

For help with general CEGUI usage:
- Questions about the usage of CEGUI and its features, if not explained in the documentation.
- Problems with the CMAKE configuration or problems occuring during the build process/compilation.
- Errors or unexpected behaviour.

Moderators: CEGUI MVP, CEGUI Team

MrDoom
Just popping in
Just popping in
Posts: 12
Joined: Sun May 04, 2008 00:24

Needed lib files

Postby MrDoom » Sun May 04, 2008 18:30

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.

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

Postby CrazyEddie » Mon May 05, 2008 08:17

Hi,

Which compiler is this using?

Are you dynamically or statically linking?

Thanks

CE.

MrDoom
Just popping in
Just popping in
Posts: 12
Joined: Sun May 04, 2008 00:24

Postby MrDoom » Mon May 05, 2008 12:18

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.
Last edited by MrDoom on Mon May 05, 2008 13:35, edited 2 times in total.

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

Postby CrazyEddie » Mon May 05, 2008 13:28

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.

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

Postby CrazyEddie » Mon May 05, 2008 13:30

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();


Return to “Help”

Who is online

Users browsing this forum: No registered users and 20 guests