Trying to build MOGRE with 1.4.2 [SUCCEEDED]

pjohnsen

14-06-2007 21:12:39

[edit]
You can download the zip from here: http://pellej.com/wp-content/uploads/Mogre_0.2.1_test.zip

Now also includes MogreNewton.
[/edit]

Hi all,

I wanted to give it a try to see if I could manage to build MOGRE with 1.4.2 and thought I'd better document what I'm doing so that I might be able to get some help :)

This is what I've done so far:

Prereqs: I have both VC# and VC++ 2005 express with SP1 installed. I also have Java 1.6 installed.

My first goal is to get the 1.4.0 build working following the "How to compile this.txt" from SVN.

Checked out MOGRE from SVN (https://mogre.svn.sourceforge.net/svnroot/mogre/trunk)

Compiled Mogre/AutoWrap: OK
Tried running AutoWrap but it complains about a missing file: ..\..\..\cpp2java\build\meta.xml

Ran the built.bat in Mogre/cpp2java which generated the missing file.

Now AutoWrap runs and after pressing the Produce button it generates a bunch of stuff in Mogre/Mogre/include/auto and Mogre/Mogre/src/auto.

Downloaded the ogre dependencies for VC++ 2005 from May 3rd (http://www.ogre3d.org/index.php?option=com_content&task=view&id=412&Itemid=132).
Extracted to Mogre/ogrenew.

This overwrites the OIS dlls in Mogre/ogrenew/Samples so I simply reverted the whole Samples dir from SVN.

Continued in next post ...

GermanDZ

14-06-2007 22:10:26

THANK YOU!!!!

I am in the same way, now I going out for 5 days (this saturday is the opening of Snow Season). If I come back in one piece (my snowboard is not so good), I will build 1.4.2 too.

I am working now in a port of QuickGUI; it seems to be more flexible (read customizable in C#) than CEGUI.


Please go ahead and comment about it.

pjohnsen

14-06-2007 22:40:22

So now for compiling Ogre. I opened the Ogre_vc8.sln from ogrenew with VC++ and make sure that LINK_TO_MOGRE is set to 0 in CLRConfig.h (found in the project view under OgreMain/Header Files). Then I batch build everything which takes quite a while (about an hour on my amd x2 4200)

Tried running some of the demos in Mogre/ogrenew/Samples/Common/bin but the release versions just crashes and the debug version complains about a problem with ois_d.dll ... maybe the modified ois stuff doesn't work with the standard ogre demos .. hmm.

Anyway on to compile Mogre itself: opened Mogre/Mogre.sln in VC++, it complains about not being able to open the C# projects, just ignored that and went on to compile the Mogre project in both debug and release version. This also takes a while :)

pjohnsen

14-06-2007 23:09:44

Ok, so far so good .. back to Ogre: reopen ogrenew/Ogre_vc8.sln, set LINK_TO_MOGRE to 1 in CLRConfig.h and batch build the debug and release configurations of the OgreMain project.

The compile finished so now for testing if it works. I opened Mogre/Mogre.sln in VC# and ignore its complain about the Mogre project which is C++. I build the solution in both debug and release. This should put the samples in Mogre/ogrenew/Samples/common/bin. I tested a couple of the samples which all seamed to run just fine.

This concludes building Mogre with 1.4.0 .. so next step is to upgrade the ogre sources to 1.4.2 :)

pjohnsen

14-06-2007 23:32:22

Upgrading to 1.4.2 should be a matter of using CVS to upgrade the ogre sources and then rebuild everything.

So I installed WinCVS and checked on sf.net to find that the CVS tag is called "v1-4-2".

So I tried updating the whole ogrenew directory. I checked Create missing dirs, set the tag to v1-4-2 and unchecked prune empty dirs just in case. WinCVS seams to be thinking about that for a looong time .. I'll let it run through the night and get back tomorrow.

Marioko

15-06-2007 00:16:36

Thanks a lot pjohnsen for that great work, i hope that everything be ok..
and to you GermanDZ, because we need a GUI System like QuickGUI in MOGRE.... :lol: :lol:

pjohnsen

15-06-2007 00:29:11

The CVS update finally completed .. there was only one unresolved conflict
in ogrenew/SDK/Win32/ogresdk.nsh, but it was trivial to fix :)

I'm gonna see if I can get the batch built of Ogre started so it can run during the night.

I will try to go through the same process as before:


  1. run built.bat in cpp2java
    run AutoWrap
    build Ogre with LINK_TO_MOGRE=0
    build Mogre
    build Ogre with LINK_TO_MOGRE=1
    build Mogre samples
    [/list:u]

pjohnsen

15-06-2007 08:39:42

Everything build, and all the samples runs fine ... hurraah :lol:

So I guess I should look into how to build the installer .. but it looks a bit complicated so I think I'll first see if I can just package everything into a zip file.

pjohnsen

15-06-2007 10:02:14

I have put up a zip file you can download and try:

http://pellej.com/wp-content/uploads/Mogre_0.2.1_test.zip

Please note that MogreNewton is not included. You may be able to just copy the Newton stuff from the old release but I have not tested that.

-Pelle

pjohnsen

15-06-2007 12:19:47

I managed to build MogreNewt with samples as well. I've updated the zip file with this (same url). You still have to get the Newton.dll yourself and put it in the bin/debug and bin/release folders.

Sweenie

15-06-2007 13:17:44

Hmm...
Can't figure out why it won't work for me...

Running autowrap with Eihort 1.4.0 sources works fine.
But when I run it with the 1.4.2 sources Autowrap gives me this exception...
<DefType not found for 'HashFunc'>

GermanDZ

15-06-2007 14:23:19

Off-Topic / Related

I have updated MoveableText, please included it in Mogre 0.2.1. Check http://www.ogre3d.org/wiki/index.php/MOGRE_MovableText

QuickGUI over Mogre, is Done (not Finished!). With my partner (an very experienced .NET guy, he works for MS on evangelism of .NET since 2001) converted the event handling methods, now supports .NET native Events.

Please wait one week.. I leaving the city in a few hours... The Snow is wainting for me and my snowboard!!! (http://www.xtremerider.com.ar/)


See you soon.

pjohnsen

15-06-2007 14:42:59

@sweenie: Hmm I didn't run into that problem. What exactly did you do when upgrading to 1.4.2? Did you remember to run the build.bat in the cpp2java dir after updating?

@germandz: Must admit I'm not really comfortable adding new stuff to Mogre. So far I have only been building what was already there, heck I don't even have svn commit rights :) Maybe it would be best to just release your MovableText as a separate addon for now.

Sweenie

16-06-2007 10:49:33

What exactly did you do when upgrading to 1.4.2? Did you remember to run the build.bat in the cpp2java dir after updating?

Well, I didn't update from 1.4.0 to 1.4.2 by using cvs, instead I copied the ogrenew folder directly from the 1.4.2 source archive.(Removed the old one first)
Then I ran cpp2java and finally autowrap.
Perhaps the ogrenew folder that comes with the Mogre sources contains some files that are crucial for the autowrap to work.

pjohnsen

16-06-2007 10:54:05

Oh that wont work .. there are some changes to especially the header files. Using CVS to update will auto-magically merge those changes in. If you just copy over from the 1.4.2 sources you will loose those changes and things wont work.

Sweenie

16-06-2007 11:01:00

Aha...
Never knew CVS were so clever, always thought these systems only managed things at file level.
Well, you learn something every day. ;)
Thanks!

Bontakun

18-06-2007 09:44:25

Thankyou pjohnsen for all the work. I will also try compiling MOGRE from source.

pin

25-06-2007 12:38:31

Good job pjohnsen.
I haven't tried it though, 1.4.0 has all I need =]

GermanDZ

28-06-2007 13:25:43

Good Guide, It works ok, I am writing an extended version highlighting the "points of extension" like "how to add addons" (like movableText). I only have a draft (in spanish).

Please tell me if you want a english version soon, I could translate this early.

My project is focused in a full featured application with:

- MOGRE for 3D Rendering
- OIS for input manangement (including keys, mouse and joystick)
- MogreFreeSL for audio (it seems to be buggy or tricky to works) {I will work on this soon}
- MogreNewt for physics
- ????? for network functions
- MQuickGUI for GUI (my ported version of QuickGUI, in alpha state right now)
- May be uBrowser for HTML content.

So, I am working in a good Project Life Cycle, Configuration Management and Building Integration to support the team who will develop.

Marioko

28-06-2007 22:14:45

Hey German very nice...

I need the spanish version.

PD: Me interesa mucho el manual para integrar addons a MOGRE, y espero pronto tener un version funcional de MQuickGUI

Saludos desde Cartagena de Indias-Colombia