Page 1 of 1

Compiling CEGUI mk2

Posted: Fri Jun 25, 2004 12:45
by CrazyEddie
Hi,

There are two options here really...

1) Simply set-up entries for the C++ directories in Visual C++ for each of the required external libraries. So you'd go to Tools (menu) -> Options... Then in the box that appears select Projects -> VC++ Directories. In here you'll need to make entries for the include directory and the lib directory for each of the dependencies (so one for xerces-c, one for freetype, one for boost...).

Or,

2) Create a dependencies directory in your main cegui_mk2 directory. Into this create a 'lib' directory for the compiled libraries, and an 'include' directory. Into the 'lib' directory, copy all the compiled *.lib files from all of the required libraries (no sub-directories). Now into the include directory, copy all of the includes for all of the required libraries - in most cases these will end up in a sub-directory, with a few free files in the top level dir. This is how the projects are currently set-up to look for the required files here.

Having written the above, solution 1 is probably much easier to set-up than solution 2. :lol:

Also note that it is very important that each of the components is compiled using the same runtime setting. cegui and ogre both use multi-threaded dll "out of the box", the other dependencies may need to be adjusted (IIRC xerces does, boost doesn't as it compiles multiple versions, and freetype compiles multiple versions I think (unless I did it manually and forgot :oops:)).

Hope this helps get you started :) Good-luck, and let us know how you get on.

CE.

Compiling CEGUI mk2

Posted: Fri Jun 25, 2004 14:03
by mac
Hi,

I had to compile freetype to get the right versions... ;)

After compiling all 3 dependencies, and setting the include and library paths, the current cvs version of CEGUI compiled (batch build) without problems (only some warnings...). I used VC7.1... and make shure to put the CEGUI folder in the same folder as OGRE!

I had more problems getting the Testdriver application (from the demo) running with it - but that it solved now! :)

Good luck (it's really not too hard),
mac

Compiling CEGUI mk2

Posted: Sat Jun 26, 2004 18:38
by spannerman
Ok, thanks for the help so far. I’m registered now, I’m the noob ;)

I have managed to get CEGUI compiling now. I tried to stick to just the release compilations where I could. Here are my experiences and issues to date:

Freetype:
I started off with the CVS version (2.1.9). After a little while getting this version made and compiled, for some reason I couldn’t get CEGUI compiled with it, but Freetype 2.1.4 works fine, so I got that and compiled that too. I didn’t know about this restriction…did I miss something here?

Boost:
Ok, hehe, I had fun with this one. Build BoostJam to build Boost. Nice command line shenanigans. In the end I had Boost in one folder, boost-build in another, boost-jam-3.1.10 in another, and finally another boost folder holding my resulting boost lib and include folders.

Xerces-c:
Pretty straight forward here I think.

Anyway, after getting these three compiled I added the following paths to my VC Directories:

C:\CEGUI_DEPENDS\Boost\include\boost-1_31
C:\CEGUI_DEPENDS\Boost\lib

C:\CEGUI_DEPENDS\xerces-c-src_2_5_0\src
C:\CEGUI_DEPENDS \xerces-c-src_2_5_0\Build\Win32\VC7\Release

C:\CEGUI_DEPENDS \freetype-2.1.4\include
C:\CEGUI_DEPENDS \freetype-2.1.4\objs

CEGUI compiled fine no problems :)

Next I tried to get the OGRE TestDriver example compiled and running. I started with the workspace from the ogre_gui_demo4 and 5 files (from the OGRE forums). I made sure the links pointed to the correct location of my cegui_mk2 libraries, and compiled it. I got a few errors where setBackgoundEnabled no longer seems to be a method of StaticImage, but I just commented these out for now (I do have the latest cegui_mk2 from CVS) and it compiled :D

So, I’ve made some good progress, and I’m nearly there. Unfortunately, the demo crashes with the following messages in the CEGUI.log file:

Code: Select all

26/05/2004 17:44:42 (Error)   Exception: Imageset::getImage - The Image named 'MiniVertScrollThumbTopNormal' could not be found in Imageset 'TaharezImagery'.
26/05/2004 17:44:42 (Error)   Exception: WindowManager::getWindow - A Window object with the name 'MiniHorzScroll 1' does not exist within the system


I presume that I dont have the up-to-date version of TaharezImageset.xml, but I am using the latest stuff from CVS, and all the files from demo 4 and 5.

Any ideas?

Compiling CEGUI mk2

Posted: Sat Jun 26, 2004 18:45
by CrazyEddie
What were the errors with FreeType? I'm guessing link errors due to the fact I have the version specified as part of the library name? If that is it, just update the lib name in the project settings. If this is not it, I'll have to have a play about to see what they broke ;)

The errors in the log are because I updated the Imageset definition. Get the newer version here http://crazy-eddie.myby.co.uk/files/TaharezImageset.zip. There is a note on the front page about this, actually :)

HTH.

CE.

Compiling CEGUI mk2

Posted: Sat Jun 26, 2004 19:00
by spannerman
Wooha, fast response there Eddie...you replied before I had finished editting my post :o

Ok, the Freetype thing. Now that you mention it, the lib name in the project settings will definately be what I missed. Sorry about that.

And as for the updated Taharez Imageset, yup, got me again. Although to be honest, I did see that news article on the home page, but I guess I thought 'hmm six days ago, it'll be in CVS by now'. Hehe, nevermind.

So thanks again, its all working great here now. Im looking forward to tomorrows new demo, since last week we had to do without... :cry:

Compiling CEGUI mk2

Posted: Sat Jun 26, 2004 19:08
by CrazyEddie
Glad it's all working :D As for fast responses - call me Fast-Eddie! ;)

At the moment I don't have the data files in CVS, so the updates for those will either be via that download link, or in with the demos - whichever is more up to date (since I missed last weeks demo, you need the download ;)).

There should be a new demo tomorrow, at around this time. It will probably show off all the widgets so far - including the new Multi-column list / grid widget (provided I can get it finished) :D Hopefully, I won't disappoint...

Compiling CEGUI mk2

Posted: Sat Jun 26, 2004 21:02
by Shift
Indeed,

The library "freetype214MT.lib" is in the additional dependencies in the VC71 project properties. Changing it to "freetype219MT.lib" didn't seem to cause any apparent trouble.

Compiling CEGUI mk2

Posted: Sat Jul 10, 2004 15:12
by sazzer
Would it be possible for you to package up and post your Dependencies directory in the same way that the Ogre team do? Would make installation a lot less painful as it would be that much easier to replicate your development environment...

Compiling CEGUI mk2

Posted: Sat Jul 10, 2004 15:26
by CrazyEddie
This is something that I do intend to do once the first actual 'release' is made available (I mentioned it months ago, but can't remember if it was on this site, the old one, or somewhere else entirely). Until the first release is made, the dependencies may change, and it ends up being quite a huge lump to keep uploading modified versons of, should I decide to make a small change somewhere (even though the dependencies have now remained stable for ~5 months ;)).

I do sympathise with you the first time you have to get all the required libraries, compile them, get the directories set up, and possibly modify the VC++ projects due to versioning issues. Even I hated doing it the first time, lol. :)

Compiling CEGUI mk2

Posted: Sat Jul 10, 2004 17:22
by sazzer
Lol - tell me about it... Everything's been going fine so far, and then I started to compile Boost. That was about an hour ago and it's still chugging away...
You've never believe this machine was a 3200+ the speed it's going - though maybe having UO running at the same time contributes to that... :)

Compiling CEGUI mk2

Posted: Wed Jul 14, 2004 07:27
by CrazyEddie
Okay.

But for your information:
You definately need the built version of boost, since the system is using some of the components that need the build libs.

I am part way through some preliminary work to produce a ready compiled dependencies package for Win32. This will not be ready for a little while yet though.