[ODE] Complex compile problem ODE 0.7

Francisco Leon projectileman at yahoo.com
Thu Oct 26 04:18:53 MST 2006


Hi mauro.

ODE 0.7 won't compile on MingW, but my ODE-GIMPACT
does. Also, it has many improvements to the current
0.7 version such a correctly Trimesh-Trimesh
collisions, better auto-disable system for sleeping
bodies ans more.

Take a look at : http://gimpact.sourceforge.net/

But DevC++ is a quite old. I highly  recommend
CODE::BLOCKS, a free IDE for C++ and MingW.




--------------------Original POSTED by  Mauro G.
Todeschini--------
Hi,
	I have a problem which is quite difficult to explain.
I dont' know if it's a ODE problem or a problem of my
development
environment (probably the latter).
With ODE 0.6 the following steps don't give me any
problem.
But with ODE 0.7 I cannot compile my application.

I downloaded ODE 0.7
and built It with (on PC A: windows, mingw and msys):
sh autogen.sh
./configure --enable-release
make

then I took the library and headers on PC B: windows
and Dev-C++
but when I try to compile my application I obtain:

g++.exe tomSimulator.o tomUtils.o main-odemullib.o
ode_draw.o tomFixed.o
tomMovable.o tomJoint.o tomSystem.o tomCollision.o  -o
"tom-odemullib.exe" -L"lib" -L"../../lib" -lode
-lmullib -ltinyxmlSTL
-lglut32 -lglu32 -lopengl32 -ljpeg -lgdi32 -luser32
-lkernel32 -lwinmm
../../lib/libode.a(libode_a-convex.o)(.text+0x88):convex.cpp:
undefined
reference to `std::__default_alloc_template<true,
0>::allocate(unsigned
int)'
../../lib/libode.a(libode_a-convex.o)(.text$_ZNSt8_Rb_treeISt4pairIjjES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE8_M_eraseEPSt13_Rb_tree_nodeIS1_E[std::_Rb_tree<std::pair<unsigned
int, unsigned int>, std::pair<unsigned int, unsigned
int>,
std::_Identity<std::pair<unsigned int, unsigned int>
>,
std::less<std::pair<unsigned int, unsigned int> >,
std::allocator<std::pair<unsigned int, unsigned int> >
>::_M_erase(std::_Rb_tree_node<std::pair<unsigned int,
unsigned int>
>*)]+0x27):convex.cpp: undefined reference to
`std::__default_alloc_template<true,
0>::deallocate(void*, unsigned int)'
../../lib/libode.a(libode_a-convex.o)(.text$_ZNSt8_Rb_treeISt4pairIjjES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE9_M_insertEPSt18_Rb_tree_node_baseS9_RKS1_[std::_Rb_tree<std::pair<unsigned
int, unsigned int>, std::pair<unsigned int, unsigned
int>,
std::_Identity<std::pair<unsigned int, unsigned int>
>,
std::less<std::pair<unsigned int, unsigned int> >,
std::allocator<std::pair<unsigned int, unsigned int> >
>::_M_insert(std::_Rb_tree_node_base*,
std::_Rb_tree_node_base*,
std::pair<unsigned int, unsigned int>
const&)]+0x29):convex.cpp:
undefined reference to
`std::__default_alloc_template<true,
0>::allocate(unsigned int)'
../../lib/libode.a(libode_a-convex.o)(.text$_ZNSt14__simple_allocISt13_Rb_tree_nodeISt4pairIjjEESt24__default_alloc_templateILb1ELi0EEE8allocateEj[std::__simple_alloc<std::_Rb_tree_node<std::pair<unsigned
int, unsigned int> >,
std::__default_alloc_template<true, 0>
>::allocate(unsigned int)]+0x1c):convex.cpp: undefined
reference to
`std::__default_alloc_template<true,
0>::allocate(unsigned int)'
../../lib/libode.a(libode_a-convex.o)(.text$_ZNSt14__simple_allocISt13_Rb_tree_nodeISt4pairIjjEESt24__default_alloc_templateILb1ELi0EEE10deallocateEPS3_j[std::__simple_alloc<std::_Rb_tree_node<std::pair<unsigned
int, unsigned int> >,
std::__default_alloc_template<true, 0>
>::deallocate(std::_Rb_tree_node<std::pair<unsigned
int, unsigned int>
>*, unsigned int)]+0x1b):convex.cpp: undefined
reference to
`std::__default_alloc_template<true,
0>::deallocate(void*, unsigned int)'
../../lib/libode.a(libode_a-convex.o)(.text$_ZNSt8_Rb_treeISt4pairIjjES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE14_M_create_nodeERKS1_[std::_Rb_tree<std::pair<unsigned
int, unsigned int>, std::pair<unsigned int, unsigned
int>,
std::_Identity<std::pair<unsigned int, unsigned int>
>,
std::less<std::pair<unsigned int, unsigned int> >,
std::allocator<std::pair<unsigned int, unsigned int> >
>::_M_create_node(std::pair<unsigned int, unsigned
int>
const&)]+0x6):convex.cpp: undefined reference to
`std::__default_alloc_template<true,
0>::allocate(unsigned int)'
collect2: ld returned 1 exit status
c:\dev-cpp\bin\make.exe: *** [tom-odemullib.exe] Error
1

It seems that there is some problem with
libode_a-convex.o (I don't use
convex hulls and I don't know what they are).
It seems to me a problem with STL but I don't know if
the problem is in
PC A (mingw), PC B (Dev-C++) and how to solve it. Any
hint to point me
in the right direction?
Is it possible to disable convex-hulls in ODE 0.7 (as
a workaround)?

Bye and Thanks

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the ODE mailing list