andy
07-10-2008 05:12:21
There are a couple of small issues getting the latest version of OgreOde to compile with MSVC 2008 -- one is a C++ template issue that "hopefully" I've fixed in a correct fashion, however it's hasn't been well tested so sugestions/fixes welcome 
Regards
Andy
Index: include/OgreOdePreReqs.h
===================================================================
--- include/OgreOdePreReqs.h (revision 2499)
+++ include/OgreOdePreReqs.h (working copy)
@@ -2,9 +2,9 @@
#define _OGREODEPREREQS_H_
#include "Ogre.h"
-#include "OgreNoMemoryMacros.h"
+//#include "OgreNoMemoryMacros.h"
#include "ode/ode.h"
-#include "OgreMemoryMacros.h"
+//#include "OgreMemoryMacros.h"
namespace OgreOde
Index: src/OgreOdeTriangleMeshDataManager.cpp
===================================================================
--- src/OgreOdeTriangleMeshDataManager.cpp (revision 2499)
+++ src/OgreOdeTriangleMeshDataManager.cpp (working copy)
@@ -1,3 +1,4 @@
+#include "OgreOdePrecompiledHeaders.h"
#include "OgreOdeTriangleMeshDataManager.h"
using namespace Ogre;
@@ -3,8 +4,8 @@
using namespace OgreOde;
+template<> OgreOde::TriangleMeshDataManager * Ogre::Singleton<OgreOde::TriangleMeshDataManager>::ms_Singleton = 0;
namespace OgreOde
{
- template<> TriangleMeshDataManager *Ogre::Singleton<TriangleMeshDataManager>::ms_Singleton = 0;
//-----------------------------------------------------------------------
@@ -55,7 +56,7 @@
if(itr != mTriangleMeshDataMap.end())
{
- std::map<Ogre::Vector3, TriangleMeshDataPtr>::iterator itr2;
+ std::map<Ogre::Vector3, OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
itr2 = itr->second.find(scale);
@@ -85,7 +86,7 @@
TriangleMeshDataPtrMap::iterator itr = mTriangleMeshDataMap.find(name);
if(itr != mTriangleMeshDataMap.end())
{
- std::map<Ogre::Vector3, TriangleMeshDataPtr>::iterator itr2;
+ std::map<Ogre::Vector3, TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
itr2 = itr->second.find(scale);
Index: loader/include/OgreOde_LoaderPreReqs.h
===================================================================
--- loader/include/OgreOde_LoaderPreReqs.h (revision 2499)
+++ loader/include/OgreOde_LoaderPreReqs.h (working copy)
@@ -3,9 +3,9 @@
#include "Ogre.h"
-#include "OgreNoMemoryMacros.h"
+//#include "OgreNoMemoryMacros.h"
#include "ode/ode.h"
-#include "OgreMemoryMacros.h"
+//#include "OgreMemoryMacros.h"
#include "OgreOde_Core.h"
#include "OgreOde_Prefab.h"
Regards
Andy
Index: include/OgreOdePreReqs.h
===================================================================
--- include/OgreOdePreReqs.h (revision 2499)
+++ include/OgreOdePreReqs.h (working copy)
@@ -2,9 +2,9 @@
#define _OGREODEPREREQS_H_
#include "Ogre.h"
-#include "OgreNoMemoryMacros.h"
+//#include "OgreNoMemoryMacros.h"
#include "ode/ode.h"
-#include "OgreMemoryMacros.h"
+//#include "OgreMemoryMacros.h"
namespace OgreOde
Index: src/OgreOdeTriangleMeshDataManager.cpp
===================================================================
--- src/OgreOdeTriangleMeshDataManager.cpp (revision 2499)
+++ src/OgreOdeTriangleMeshDataManager.cpp (working copy)
@@ -1,3 +1,4 @@
+#include "OgreOdePrecompiledHeaders.h"
#include "OgreOdeTriangleMeshDataManager.h"
using namespace Ogre;
@@ -3,8 +4,8 @@
using namespace OgreOde;
+template<> OgreOde::TriangleMeshDataManager * Ogre::Singleton<OgreOde::TriangleMeshDataManager>::ms_Singleton = 0;
namespace OgreOde
{
- template<> TriangleMeshDataManager *Ogre::Singleton<TriangleMeshDataManager>::ms_Singleton = 0;
//-----------------------------------------------------------------------
@@ -55,7 +56,7 @@
if(itr != mTriangleMeshDataMap.end())
{
- std::map<Ogre::Vector3, TriangleMeshDataPtr>::iterator itr2;
+ std::map<Ogre::Vector3, OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
itr2 = itr->second.find(scale);
@@ -85,7 +86,7 @@
TriangleMeshDataPtrMap::iterator itr = mTriangleMeshDataMap.find(name);
if(itr != mTriangleMeshDataMap.end())
{
- std::map<Ogre::Vector3, TriangleMeshDataPtr>::iterator itr2;
+ std::map<Ogre::Vector3, TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess>::iterator itr2;
itr2 = itr->second.find(scale);
Index: loader/include/OgreOde_LoaderPreReqs.h
===================================================================
--- loader/include/OgreOde_LoaderPreReqs.h (revision 2499)
+++ loader/include/OgreOde_LoaderPreReqs.h (working copy)
@@ -3,9 +3,9 @@
#include "Ogre.h"
-#include "OgreNoMemoryMacros.h"
+//#include "OgreNoMemoryMacros.h"
#include "ode/ode.h"
-#include "OgreMemoryMacros.h"
+//#include "OgreMemoryMacros.h"
#include "OgreOde_Core.h"
#include "OgreOde_Prefab.h"