Puzzled in OgreODE1.0.1

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Puzzled in OgreODE1.0.1

Post by tolily »

I do it as follow:
---------------------------------------------------------------------------------
Just follow these steps and you'll get into action in no time.

1) Download OgreODE from Monster's hompage (http://www.green-eyed-monster.com) or from CVS.

2) Extract it to ...\ogrenew\ This should create the directory ...\ogrenew\OgreODE_1-0-1\

3) Go to ...\ogrenew\OgreOde_1-0-1\ode-0.5\config\ and edit the user-settings file. Change PLATFORM=msvc to PLATFORM=mingw

4) Go to MSDOS-promt and go to ...\ogrenew\OgreOde_1-0-1\ode-0.5\ then write the following

(i) SET PATH=%PATH%;[Your Code::Blocks installation directory here]\bin (for example: SET PATH=%PATH%;C:\CodeBlocks\bin)

(ii) make clean

(iii) make configure

-------------------------------------------------------------------------------------

When I do the step 4(iii), get error :
The system cannot find the specified file......

Who can tell me why?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Post by dermont »

You've either not done setp 3 or there is a problem with your path. From your dos prompt type:

echo %PATH% to look for problems in your path
make --version to make sure that make.exe is being picked up

Alternatively:

SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\CodeBlocks\bin

where you should replace C:\CodeBlocks\bin with your own install dir. Then Make configure
Make ode-lib etc

Your original path should be restored when you exit the dos session
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

what is in C:\CodeBlocks\bin ? My excute file?or something else?
Why we add the path "C:\CodeBlocks\bin "?

How can I know my own install dir? what do I install?

dermont wrote:You've either not done setp 3 or there is a problem with your path. From your dos prompt type:

echo %PATH% to look for problems in your path
make --version to make sure that make.exe is being picked up

Alternatively:

SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\CodeBlocks\bin

where you should replace C:\CodeBlocks\bin with your own install dir. Then Make configure
Make ode-lib etc

Your original path should be restored when you exit the dos session
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Post by dermont »

What compiler and IDE are you using?
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

vc7.1, ogre1.0.0

dermont wrote:What compiler and IDE are you using?
dermont
Bugbear
Posts: 812
Joined: Thu Dec 09, 2004 2:51 am
x 42

Post by dermont »

If your'e using vc7.1 then you shouldn't be following the CodeBlocks / MingW installation instructions.

In scripts\VC7.1 there is an OgreOde SLN file, AFAIK that is all you need.

Change back your user-settings file - PLATFORM=msvc
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia

Post by monster »

If you're using VC7.1 then you should get OgreOde from my homepage (http://www.green-eyed-monster.com/) and do a batch build of the solution dermont mentions. That will build everything, tinyxml and ODE included, you don't have to to anything with PATHs for DOS prompts or Code::Blocks or anything.

Did you read the various Readmes?
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

I'm using VC7.1, I've changed back user-settings file, and compiled the .sln, but there're so many errors.
What else should I do? Must I changed something as the file "OgreOde_OGRE.txt" do?
dermont wrote:If your'e using vc7.1 then you shouldn't be following the CodeBlocks / MingW installation instructions.

In scripts\VC7.1 there is an OgreOde SLN file, AFAIK that is all you need.

Change back your user-settings file - PLATFORM=msvc
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

I've done all that u said, but there are so many errors, should I changed something in the source file ?
I am using OGRE 1.0.0 Final.

monster wrote:If you're using VC7.1 then you should get OgreOde from my homepage (http://www.green-eyed-monster.com/) and do a batch build of the solution dermont mentions. That will build everything, tinyxml and ODE included, you don't have to to anything with PATHs for DOS prompts or Code::Blocks or anything.

Did you read the various Readmes?
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia

Post by monster »

...there are so many errors
Like what?
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

D:\ogrenew\OgreOde_1-0-1\src\OgreOdeEntityInformer.cpp(136): error C2039: “_getSharedBlendedVertexData” : Not the member of “Ogre::Entity”

..............................



Must I made some changes as OgreOde_readme.txt said?
But in the webpage:http://www.green-eyed-monster.com/xoops ... downloads/,
it said
"The only compiler that has build scripts available out-of-the-box is MSVC 7.1 2003 .NET. If you have this compiler you can simply open up OgreOde/scripts/VC7.1/OgreOde.sln and batch build the entire solution."
This means if I use MSVC7.1, it isn't necessary to make the changes,is it?







monster wrote:
...there are so many errors
Like what?
User avatar
bleeder
Halfling
Posts: 54
Joined: Mon May 16, 2005 9:33 pm
Location: Denmark

Post by bleeder »

Well, no :wink:

You have change the Ogre source as described in OgreOde_OGRE and then recompile Ogre before you try compiling OgreOde. You will most likely receive a lot of warnings compiling Ogre ('possible loss of data'-warnings, mostly) but that's perfectly normal.

When the changes have been made to Ogre and it has compiled properly, then you can just open up the OgreOde solution, batch build it and voila!
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia

Post by monster »

It also says on the download page;
Please read all the Readme's first though! Most importantly, notice that there are some (minor) changes required to the Ogre libraries to fully support OgreOde.
You can build OgreOde straight out of the box with VC 7.1 but to get the additional Prefabs library compiled you'll have to make some changes. As it says in the Readme, if you want the facilities that the prefabs provide (vehicles and ragdolls) then you'll have to make the changes. If not then you won't.

Note also that the webpage is a bit out of date. If you check the readmes then you'll see that you should probably be using the 1.0.1 release of Ogre.
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

Oh, in the file OgreOde_OGRE.txt, the fourth step is:
To avoid a crash when exiting the Landscape demo, comment out line 87 of OgreTerrainSceneManager.cpp which says;

mOptions.terrainMaterial.setNull();

Why I can not find it in my OgreTerrainSceneManager.cpp? Does it matter?

BTW:I cannot change my ogre now, I have done a lot of work with Ogre1.0.0 , changing the newest version means lots of task to me:(


monster wrote:It also says on the download page;
Please read all the Readme's first though! Most importantly, notice that there are some (minor) changes required to the Ogre libraries to fully support OgreOde.
You can build OgreOde straight out of the box with VC 7.1 but to get the additional Prefabs library compiled you'll have to make some changes. As it says in the Readme, if you want the facilities that the prefabs provide (vehicles and ragdolls) then you'll have to make the changes. If not then you won't.

Note also that the webpage is a bit out of date. If you check the readmes then you'll see that you should probably be using the 1.0.1 release of Ogre.
Last edited by tolily on Mon May 23, 2005 3:15 pm, edited 1 time in total.
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia

Post by monster »

Maybe you've got a slightly different version of Ogre. Does it crash when you exit the Landscape demo? If so try commenting out that line. If you can't find that line then obviously you can't comment it out can you.
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

Yes, I am using Ogre1.0.0 Final, let me have a try...
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

In the file "OgreOde_OGRE.txt"
3) In OgreSceneManager.cpp add the body for the addEntity method, as follows;

void SceneManager::addEntity(Entity *entity)
{
...........................
OGRE_EXCEPT(
.............................
}

should be changed to be:
3) In OgreSceneManager.cpp add the body for the addEntity method, as follows;

void SceneManager::addEntity(Entity *entity)
{
...........................
EXCEPT(
.............................
}


Am I right?
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia

Post by monster »

No. You're using a really really old version of Ogre there. As long ago as 1.0.0RC1 (I think) all the Ogre #defines were prefixed with "OGRE". And, as I say, you'll probably need 1.0.1 of Ogre to use this latest version of OgreOde.
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

Amm, in my file, Ogre.log, there is :
14:37:17: *-*-* OGRE Initialising
14:37:17: *-*-* Version 1.0.0 (Azathoth)


Doesn't this mean the version is 1.0.0 Final?

monster wrote:No. You're using a really really old version of Ogre there. As long ago as 1.0.0RC1 (I think) all the Ogre #defines were prefixed with "OGRE". And, as I say, you'll probably need 1.0.1 of Ogre to use this latest version of OgreOde.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179

Post by jacmoe »

tolily wrote:Doesn't this mean the version is 1.0.0 Final?
monster wrote:As long ago as 1.0.0RC1 (I think) all the Ogre #defines were prefixed with "OGRE".
monster wrote:And, as I say, you'll probably need 1.0.1 of Ogre to use this latest version of OgreOde.
It would be nice if you would actually read - the answers, the wiki, the manual, the code.
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia

Post by monster »

No idea. That macro was changed in version 1.11 of OgreException.h which was committed to CVS on February 2, 2005. Previous to that it was "Except", it's never been "EXCEPT" - so if you need to change it to that then you've obviously made some of your own changes to the Ogre source.

That string comes from the following macros in OgrePrerequisites.h

Code: Select all

#define OGRE_VERSION_MAJOR 1
#define OGRE_VERSION_MINOR 0
#define OGRE_VERSION_PATCH 0
#define OGRE_VERSION_NAME "Azathoth"
Which has been defined thus since revision 1.84 which was committed to CVS on January 29, 2005. So it just shows you've got the 1.0.x branch. Not exactly which version of the entire source package you downloaded. But then, really, you should know that yourself shouldn't you?
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

After readding the answers, wiki, I think my ogre is ogre0.15.0,
but my classmate insist on his idea, I've downloaded the source file from his computer. Maybe he is wrong.
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

monster wrote:No. You're using a really really old version of Ogre there. As long ago as 1.0.0RC1 (I think) all the Ogre #defines were prefixed with "OGRE".
So, I think my version is a really old version, because
1.
in the file OgreSceneManager.cpp, there is a function as below:
Camera* SceneManager::createCamera(const String& name)
{
// Check name not used
if (mCameras.find(name) != mCameras.end())
{
Except(
Exception::ERR_DUPLICATE_ITEM,
"A camera with the name " + name + " already exists",
"SceneManager::createCamera" );
}

Camera *c = new Camera(name, this);
mCameras.insert(CameraList::value_type(name, c));


return c;
}

You can see that the call Except() is not prefixed with "OGRE".

2.
In the file OgreOde_OGRE.txt, the fourth step is:
To avoid a crash when exiting the Landscape demo, comment out line 87 of OgreTerrainSceneManager.cpp which says;

mOptions.terrainMaterial.setNull();

But I can not find it in my OgreTerrainSceneManager.cpp

3.
When I compile the OgreOde.sln, there're many many errors.



I want to use this version of the Ogre, and all of our team members are using, so I cannot change the version, so what can I do? How can I get the OgreOde which matches my Ogre?
User avatar
monster
OGRE Community Helper
OGRE Community Helper
Posts: 1098
Joined: Mon Sep 22, 2003 2:40 am
Location: Melbourne, Australia

Post by monster »

How can I get the OgreOde which matches my Ogre?
You probably can't because there probably isn't one.

You'll have to look at the errors you get, understand what they mean, and modify OgreOde to work with your particular version of Ogre.
tolily
Kobold
Posts: 35
Joined: Mon Apr 25, 2005 11:49 am

Post by tolily »

monster wrote: You'll have to look at the errors you get, understand what they mean, and modify OgreOde to work with your particular version of Ogre.
My god, I'll try my best, thank u