[Solved] OgreOdeDotLoader (linux build)

SuperMegaMau

26-09-2006 23:19:03

I'm trying to build the new version of OgreOde against the SVN version of ODE, I can compile ODE, but when building OgreOde I get this error... I've tested with the SVN version and the one posted at the Tuan Kuranes site. Got the same result...

../include/SimpleScenes_Zombie.h:283: undefined reference to `OgreOde_Prefab::OgreOdeDotLoader::loadRagdoll(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, OgreOde_Prefab::Ragdoll*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'


What is this OgreOdeDotLoader and where is it defined?

SuperMegaMau

27-09-2006 00:25:52

ok, I managed to build it...

The problem was quite simple to fix, once I figure out where the OgreOdeDotLoader was, I realize that some files are not included in the Makefiles, so to solve it just add the missing files to the corresponding Makefile.am:

your "OgreOde/prefab/include/Makefile.am" must look like:
ogreodeprefabincludedir = $(includedir)/OgreOde_Prefab

ogreodeprefabinclude_HEADERS = \
OgreOde_Prefab.h \
OgreOdePrefabObject.h \
OgreOdeVehicle.h \
OgreOdeRagdoll.h \
OgreOdeDotLoader.h \
OgreOdeObject.h \
OgreOde_PrefabPreReqs.h


and the "OgreOde/prefab/src/Makefile.am":
INCLUDES = \
$(STLPORT_CFLAGS) \
${OGRE_CFLAGS} \
-I$(top_srcdir)/include \
-I../include \
-I$(top_srcdir)/tinyxml


lib_LTLIBRARIES = libOgreOde_Prefab.la

libOgreOde_Prefab_la_SOURCES = \
OgreOdeVehicle.cpp \
OgreOdeRagdoll.cpp \
OgreOdePrefabObject.cpp \
OgreOdeDotLoader.cpp \
OgreOdeObject.cpp \
$(top_srcdir)/tinyxml/tinystr.cpp \
$(top_srcdir)/tinyxml/tinyxml.cpp \
$(top_srcdir)/tinyxml/tinyxmlerror.cpp \
$(top_srcdir)/tinyxml/tinyxmlparser.cpp


libOgreOde_Prefab_la_LIBADD = \
$(OGRE_LIBS) \
-L$(top_srcdir)/src \
-lOgreOde_Core \
$(top_srcdir)/ode/ode/src/libode.a


then "sh autogen.sh" and so on...

BTW: can anyone make this change on the SVN version of ogreode?

tuan kuranes

27-09-2006 14:00:38

added the fix in CVS, thanks.