Compiling OGRE with ODE

Problems building or running the engine, queries about how to use features etc.
Post Reply
Brandon
Gnoblar
Posts: 2
Joined: Mon Dec 20, 2004 4:59 am

Compiling OGRE with ODE

Post by Brandon »

Hi,
I'm having trouble compiling an app using OGRE and ODE together.
Not including <ode/ode.h> and the app compiles fine.
The ODE examples all compile and run fine.

The missing ; before . lines all take me to the malloc.h file when I click on them, but that is a MS delivered file. I'm using VS 2003. (7.1).

When I created the ODE libraries I did make sure they were set to Multi-threaded DLL (debug for the Debug build)

the ode include and lib directories are in teh project include / library paths.

I'm using the stable version of OGRE - 15.10 or 15.11, whichever one is not the HEAD version.
I'm using the latest download of ODE.

If I missed a post about this already, I aplogize.

Thanks,
Brandon


I get the following output:

Code: Select all

------ Build started: Project: space, Configuration: Debug Win32 ------
Compiling...
WinMain.cpp
g:\Visual Studio Projects\ogre\ogrenew\Samples\Common\include\ExampleFrameListener.h(79) : warning C4267: 'argument' : conversion from 'size_t' to 'unsigned int', possible loss of data
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : warning C4002: too many actual parameters for macro 'calloc'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2182: 'sMemManager' : illegal use of type 'void'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
spaceApplication.cpp
g:\Visual Studio Projects\ogre\ogrenew\Samples\Common\include\ExampleFrameListener.h(79) : warning C4267: 'argument' : conversion from 'size_t' to 'unsigned int', possible loss of data
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : warning C4002: too many actual parameters for macro 'calloc'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(122) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2182: 'sMemManager' : illegal use of type 'void'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(123) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(124) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : error C2143: syntax error : missing ';' before '.'
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : warning C4229: anachronism used : modifiers on data are ignored
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : error C2720: 'Ogre::MemoryManager::sMemManager' : 'Ogre::MemoryManager::' storage-class specifier illegal on members
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\malloc.h(125) : error C2491: 'Ogre::MemoryManager::sMemManager' : definition of dllimport static data member not allowed
User avatar
IoN_PuLse
Goblin
Posts: 220
Joined: Mon May 31, 2004 5:54 am
Location: Canada
Contact:

Post by IoN_PuLse »

Have you searched the forums? I believe that this has been addressed previously.
Brandon
Gnoblar
Posts: 2
Joined: Mon Dec 20, 2004 4:59 am

Post by Brandon »

Yes, although I'll search again.

Additionally I tried reversing the includes (include ODE first) and the project compiles, although I haven't added any ODE specific features yet.
User avatar
DWORD
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 1365
Joined: Tue Sep 07, 2004 12:43 pm
Location: Aalborg, Denmark
Contact:

Post by DWORD »

I think you need to use these lines when including ode.h in an Ogre application (originally from this thread):

Code: Select all

#include "OgreNoMemoryMacros.h" 
#include "ode/ode.h" 
#include "OgreMemoryMacros.h"
Post Reply