Error Compiling (Eihort 1.4.9 + ODE 0.10.1 + OgreOde r2498)

FFFanatic

26-09-2008 11:03:43

Hi everyone, and yes, I'm new here. I'm having trouble compiling with the setup mentioned in the topic. In addition, I've made the following modifications (and some miscellaneous information) :

Eihort:
- Used SDK, and removed any ODE in the includes, as well as the lib file
- CEGUI features kept

ODE:
- modified uint32 and other typedefs, and added suffixes like uint32_ODE to prevent the namespace conflicts with Ogre, CEGUI and ODE
- compiled under ReleaseDoubleLib

OgreOde:
- placed ODE into OgreOde/ode folder and applied the Preparation part of the tutorial (Compile OgreOde)
- applied the following in various instances of the function:


#if OGRE_VERSION_MAJOR == 1 && OGRE_VERSION_MINOR > 4
void visitRenderables(Ogre::Renderable::Visitor* visitor, bool debugRenderables = false) = 0;
#endif


- commented out the contents within the constructor of DebugContact as DebugContactText can't be initialized due to certain abstract classes in Ogre

After doing the following, I have this output containing various linker errors:


1>------ Build started: Project: OgreOde_Core, Configuration: Release Win32 ------
1>Linking...
1> Creating library ..\..\lib\Release/OgreOde_Core.lib and object ..\..\lib\Release/OgreOde_Core.exp
1>OgreOdeBody.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall OgreOde::TriangleMeshData::~TriangleMeshData(void)" (??1TriangleMeshData@OgreOde@@UAE@XZ)
1>OgreOdeEntityInformer.obj : error LNK2001: unresolved external symbol "public: __thiscall OgreOde::TriangleMeshData::TriangleMeshData(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class Ogre::Vector3,class Ogre::Vector3 const *,unsigned int,unsigned int const *,unsigned int)" (??0TriangleMeshData@OgreOde@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VVector3@Ogre@@PBV45@IPBII@Z)
1>OgreOdeEntityInformer.obj : error LNK2001: unresolved external symbol "public: class OgreOde::TriangleMeshDataPtr __thiscall OgreOde::TriangleMeshDataManager::getTriangleMeshData(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class Ogre::Vector3)" (?getTriangleMeshData@TriangleMeshDataManager@OgreOde@@QAE?AVTriangleMeshDataPtr@2@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VVector3@Ogre@@@Z)
1>OgreOdeEntityInformer.obj : error LNK2001: unresolved external symbol "public: void __thiscall OgreOde::TriangleMeshDataManager::addTriangleMeshData(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class OgreOde::TriangleMeshDataPtr,class Ogre::Vector3)" (?addTriangleMeshData@TriangleMeshDataManager@OgreOde@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VTriangleMeshDataPtr@2@VVector3@Ogre@@@Z)
1>OgreOdeEntityInformer.obj : error LNK2001: unresolved external symbol "public: static class OgreOde::TriangleMeshDataManager & __cdecl OgreOde::TriangleMeshDataManager::getSingleton(void)" (?getSingleton@TriangleMeshDataManager@OgreOde@@SAAAV12@XZ)
1>..\..\lib\Release/OgreOde_Core.dll : fatal error LNK1120: 5 unresolved externals
1>Build log was saved at "file://c:\DEV\OgreOde\obj\Release\BuildLog.htm"
1>OgreOde_Core - 6 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========


I searched on the forums and found out that some TriangleMeshData stuff are missing from rev 2497 of OgreOde, and I wonder whether this is the cause...Anyway, any assistance on this is appreciated...

By the way, the tutorial is seriously outdated, and not working really well with rev 2497 of OgreOde and Eihort 1.4.9, as certain parts of the code mentioned does not exist anymore, making the tutorial pretty hard to follow...

Oh, and forgive me if I broke some rules (maybe the horizontal scroll?), but I'm not too sure about how to go about wrapping the text such that the output looks "readable" to "output readers" and staying within the boundaries of the window...

Edit: By the way, the compile errors are for OgreOde_Core.

FFFanatic

30-09-2008 05:08:02

Alright, this time, I updated OgreOde to r2498, unpatched, and included everything in the include and src folder of OgreOde into OgreOde_Core, without touching anything in those .h and .cpp files. I get the following errors:


2>------ Rebuild All started: Project: OgreOde_Core, Configuration: Release Win32 ------
2>Deleting intermediate and output files for project 'OgreOde_Core', configuration 'Release|Win32'
2>Compiling...
2>OgreOdeTriangleMeshDataManager.cpp
2>..\..\src\OgreOdeTriangleMeshDataManager.cpp(8) : error C2888: 'OgreOde::TriangleMeshDataManager *Ogre::Singleton<T>::ms_Singleton' : symbol cannot be defined within namespace 'OgreOde'
2> with
2> [
2> T=OgreOde::TriangleMeshDataManager
2> ]
2>..\..\src\OgreOdeTriangleMeshDataManager.cpp(59) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_Tree<_Traits>::iterator' (or there is no acceptable conversion)
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> C:\Program Files\Microsoft Visual Studio 8\VC\include\xtree(484): could be 'std::_Tree<_Traits>::iterator &std::_Tree<_Traits>::iterator::operator =(const std::_Tree<_Traits>::iterator &)'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> while trying to match the argument list '(std::_Tree<_Traits>::iterator, std::_Tree<_Traits>::iterator)'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> and
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2>..\..\src\OgreOdeTriangleMeshDataManager.cpp(61) : error C2678: binary '!=' : no operator found which takes a left-hand operand of type 'std::_Tree<_Traits>::iterator' (or there is no acceptable conversion)
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> c:\ogresdk\include\OgreUTFString.h(548): could be 'bool Ogre::operator !=(const Ogre::UTFString::_const_fwd_iterator &,const Ogre::UTFString::_const_fwd_iterator &)'
2> c:\ogresdk\include\OgreUTFString.h(789): or 'bool Ogre::operator !=(const Ogre::UTFString::_const_rev_iterator &,const Ogre::UTFString::_const_rev_iterator &)'
2> c:\ogresdk\include\OgreShadowTextureManager.h(59): or 'bool Ogre::operator !=(const Ogre::ShadowTextureConfig &,const Ogre::ShadowTextureConfig &)'
2> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\guiddef.h(197): or 'int operator !=(const GUID &,const GUID &)'
2> C:\Program Files\Microsoft Visual Studio 8\VC\include\xtree(303): or 'bool std::_Tree<_Traits>::const_iterator::operator !=(const std::_Tree<_Traits>::const_iterator &) const'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> while trying to match the argument list '(std::_Tree<_Traits>::iterator, std::_Tree<_Traits>::iterator)'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> and
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2>..\..\src\OgreOdeTriangleMeshDataManager.cpp(64) : error C2664: 'std::_Tree<_Traits>::iterator std::_Tree<_Traits>::erase(std::_Tree<_Traits>::iterator)' : cannot convert parameter 1 from 'std::_Tree<_Traits>::iterator' to 'std::_Tree<_Traits>::iterator'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> and
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> and
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
2>..\..\src\OgreOdeTriangleMeshDataManager.cpp(89) : error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_Tree<_Traits>::iterator' (or there is no acceptable conversion)
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> C:\Program Files\Microsoft Visual Studio 8\VC\include\xtree(484): could be 'std::_Tree<_Traits>::iterator &std::_Tree<_Traits>::iterator::operator =(const std::_Tree<_Traits>::iterator &)'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> while trying to match the argument list '(std::_Tree<_Traits>::iterator, std::_Tree<_Traits>::iterator)'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> and
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2>..\..\src\OgreOdeTriangleMeshDataManager.cpp(91) : error C2678: binary '!=' : no operator found which takes a left-hand operand of type 'std::_Tree<_Traits>::iterator' (or there is no acceptable conversion)
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> c:\ogresdk\include\OgreUTFString.h(548): could be 'bool Ogre::operator !=(const Ogre::UTFString::_const_fwd_iterator &,const Ogre::UTFString::_const_fwd_iterator &)'
2> c:\ogresdk\include\OgreUTFString.h(789): or 'bool Ogre::operator !=(const Ogre::UTFString::_const_rev_iterator &,const Ogre::UTFString::_const_rev_iterator &)'
2> c:\ogresdk\include\OgreShadowTextureManager.h(59): or 'bool Ogre::operator !=(const Ogre::ShadowTextureConfig &,const Ogre::ShadowTextureConfig &)'
2> C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\guiddef.h(197): or 'int operator !=(const GUID &,const GUID &)'
2> C:\Program Files\Microsoft Visual Studio 8\VC\include\xtree(303): or 'bool std::_Tree<_Traits>::const_iterator::operator !=(const std::_Tree<_Traits>::const_iterator &) const'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> while trying to match the argument list '(std::_Tree<_Traits>::iterator, std::_Tree<_Traits>::iterator)'
2> with
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,std::less<Ogre::Vector3>,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2> and
2> [
2> _Traits=std::_Tmap_traits<Ogre::Vector3,OgreOde::TriangleMeshDataPtr,OgreOde::TriangleMeshDataManager::vectorLess,std::allocator<std::pair<const Ogre::Vector3,OgreOde::TriangleMeshDataPtr>>,false>
2> ]
2>OgreOdeTriangleMeshData.cpp
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeDebugContact.h(90) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeDebugContact.h(90) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdePrecompiledHeaders.cpp
2>OgreOdeWorld.cpp
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdeUtility.cpp
2>OgreOdeStepper.cpp
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdeSpace.cpp
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdeMass.cpp
2>OgreOdeMaintainedList.cpp
2>OgreOdeJoint.cpp
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdeGeometry.cpp
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeDebugContact.h(90) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeDebugContact.h(90) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdeEntityInformer.cpp
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdeEigenSolver.cpp
2>OgreOdeDebugObject.cpp
2>OgreOdeDebugContact.cpp
2>..\..\include\OgreOdeDebugContact.h(90) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeDebugContact.h(90) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>..\..\src\OgreOdeDebugContact.cpp(48) : error C2259: 'OgreOde::DebugContactText' : cannot instantiate abstract class
2> due to following members:
2> 'const Ogre::Quaternion &Ogre::Renderable::getWorldOrientation(void) const' : is abstract
2> c:\ogresdk\include\OgreRenderable.h(95) : see declaration of 'Ogre::Renderable::getWorldOrientation'
2> 'const Ogre::Vector3 &Ogre::Renderable::getWorldPosition(void) const' : is abstract
2> c:\ogresdk\include\OgreRenderable.h(101) : see declaration of 'Ogre::Renderable::getWorldPosition'
2>..\..\src\OgreOdeDebugContact.cpp(48) : fatal error C1903: unable to recover from previous error(s); stopping compilation
2>OgreOdeCollision.cpp
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>OgreOdeBody.cpp
2>..\..\include\OgreOdeBody.h(184) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeBody.h(184) : error C2061: syntax error : identifier 'Visitor'
2>..\..\include\OgreOdeGeometry.h(131) : error C2039: 'Visitor' : is not a member of 'Ogre::Renderable'
2> c:\ogresdk\include\OgreRenderable.h(57) : see declaration of 'Ogre::Renderable'
2>..\..\include\OgreOdeGeometry.h(131) : error C2061: syntax error : identifier 'Visitor'
2>Build Time 0:44
2>Build log was saved at "file://c:\DEV\OgreOde\obj\Release\BuildLog.htm"
2>OgreOde_Core - 52 error(s), 0 warning(s)
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========


By the way, the previous project that got compiled was ODE, which compiled without problems (apart from those warnings). I left the files untouched so you can see the original errors...Maybe you might have an easier time providing assistance to me from this point...

Edit: This was compiled in Visual Studio 2005...forgot to point this out.