[ODE] ode-0.035 using mingw 2.0.0

Yann Skratchie at GMX.de
Wed Mar 26 07:36:02 2003


anj utsuo wrote:
>>Hi,
>>you have to put
>>#define alloca __builtin_alloca
>>somewhere in include/ode/config.h
>>Yann.
>>
> 
> 
> thanks that fixed it 
> it complained about the missing lib directory
> so i made one and ode-lib and drawstuff-lib both
> made w/ out any complaints
> then i was treated to this friendly piece:
> 
> gcc -o ode/test/test_chain2.exe ode/test/test_chain2.o
> lib/libode.a lib/libdrawstuff.a lib/resources.RES
> -lComctl32 -lkernel32 -luser32 -lgdi32 -lOpenGL32
> -lGlu32 -lm
> lib/libode.a(collision_kernel.o)(.data$_ZTV6dxGeom+0x10):collision_kernel.cpp:
> undefined reference to `__cxa_pure_virtual'
> lib/libode.a(collision_space.o)(.data$_ZTV7dxSpace+0x20):collision_space.cpp:
> undefined reference to `__cxa_pure_virtual'
> lib/libode.a(collision_space.o)(.data$_ZTV7dxSpace+0x24):collision_space.cpp:
> undefined reference to `__cxa_pure_virtual'
> lib/libode.a(collision_space.o)(.data$_ZTV7dxSpace+0x28):collision_space.cpp:
> undefined reference to `__cxa_pure_virtual'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x36b):drawstuff.cpp:
> undefined reference to `operator new[](unsigned)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x4fb):drawstuff.cpp:
> undefined reference to `operator new[](unsigned)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x5ec):drawstuff.cpp:
> undefined reference to `operator new(unsigned)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x6fc):drawstuff.cpp:
> undefined reference to `operator new(unsigned)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x82d):drawstuff.cpp:
> undefined reference to `operator delete(void*)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x86d):drawstuff.cpp:
> undefined reference to `operator delete(void*)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x2076):drawstuff.cpp:
> undefined reference to `operator new(unsigned)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x20a9):drawstuff.cpp:
> undefined reference to `operator new(unsigned)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x20dc):drawstuff.cpp:
> undefined reference to `operator new(unsigned)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x2150):drawstuff.cpp:
> undefined reference to `operator delete(void*)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x216d):drawstuff.cpp:
> undefined reference to `operator delete(void*)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x2183):drawstuff.cpp:
> undefined reference to `operator delete(void*)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x5b5):drawstuff.cpp:
> undefined reference to `operator delete[](void*)'
> lib/libdrawstuff.a(drawstuff.o)(.text+0x5d5):drawstuff.cpp:
> undefined reference to `operator delete[](void*)'
> make: *** [ode/test/test_chain2.exe] Error 1

Sorry, I forgot to mention that you have to add "-lstdc++" to 
LINK_OPENGL in config/makefile.mingw. These errors are because gcc 
doesn't link the c++ standard libraries by default (only g++ does), so 
you have to tell gcc to link them.

Yann