[ODE] Linker errors with ClanLib

Dave Cobb shpydir at daintyrhino.com
Wed Jul 7 06:44:42 MST 2004


I'm trying to use ODE with ClanLib and I keep getting the following 
linker errors when I link with ode.lib or oded.lib

Linking...
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _exit already defined in 
LIBCMT.lib(crt0dat.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: __snprintf already defined in 
LIBCMT.lib(snprintf.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _abort already defined in 
LIBCMT.lib(abort.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fprintf already defined in 
LIBCMT.lib(fprintf.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fflush already defined in 
LIBCMT.lib(fflush.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _memmove already defined in 
LIBCMT.lib(memmove.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _malloc already defined in 
LIBCMT.lib(malloc.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _realloc already defined in 
LIBCMT.lib(realloc.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _free already defined in 
LIBCMT.lib(free.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _ldexp already defined in 
LIBCMT.lib(ldexp.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: __copysign already defined in 
LIBCMT.lib(ieeemisc.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _srand already defined in 
LIBCMT.lib(rand.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _rand already defined in 
LIBCMT.lib(rand.obj)
LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other 
libs; use /NODEFAULTLIB:library
Release/Crumpets.exe : fatal error LNK1169: one or more multiply defined 
symbols found
Error executing link.exe.

I've tried using /nodefaultlib: msvcrt and when I do that I get this:

Linking...
LINK : warning LNK4049: locally defined symbol "_exit" imported
LINK : warning LNK4049: locally defined symbol "__snprintf" imported
LINK : warning LNK4049: locally defined symbol "_abort" imported
LINK : warning LNK4049: locally defined symbol "_fprintf" imported
LINK : warning LNK4049: locally defined symbol "_fflush" imported
LINK : warning LNK4049: locally defined symbol "__iob" imported
LINK : warning LNK4049: locally defined symbol "_memmove" imported
LINK : warning LNK4049: locally defined symbol "_malloc" imported
LINK : warning LNK4049: locally defined symbol "_realloc" imported
LINK : warning LNK4049: locally defined symbol "_free" imported
LINK : warning LNK4049: locally defined symbol "_ldexp" imported
LINK : warning LNK4049: locally defined symbol "__copysign" imported
LINK : warning LNK4049: locally defined symbol "_srand" imported
LINK : warning LNK4049: locally defined symbol "_rand" imported
ode.lib(error.obj) : error LNK2001: unresolved external symbol 
__imp___vsnprintf
ode.lib(error.obj) : error LNK2001: unresolved external symbol 
__imp__vfprintf
ode.lib(collision_space.obj) : error LNK2001: unresolved external symbol 
__imp__floor
ode.lib(collision_space.obj) : error LNK2001: unresolved external symbol 
__imp__frexp
ode.lib(step.obj) : error LNK2001: unresolved external symbol __imp__printf
ode.lib(lcp.obj) : error LNK2001: unresolved external symbol __imp__printf
Release/Crumpets.exe : fatal error LNK1120: 5 unresolved externals
Error executing link.exe.

I've built the .50 release of ODE using the included VC workspace.  The 
samples all build just fine.  Furthermore I don't get these errors if 
I'm not calling any ODE functions, but still linking to the library.  
Any suggestions or hints on using ODE with ClanLib would be greatly 
appreciated.

~Dave


More information about the ODE mailing list