Warning messages in link phase using Math.h++ in OWL project

Article ID: 822
Last updated: 29 Jan, 2008
Article ID: 822
Last updated: 29 Jan, 2008
Revision: 1
Views: 2975
Posted: 27 Jun, 1997
by --
Updated: 29 Jan, 2008
by
Problem


I am trying to use Math.h++ in an OWL project. Everything compiles, but during the link phase, the following errors are received:

 

Linker Error: Undefined symbol 
istream::operator >>(char far&)
in library file ........ oguemath513libmthlw.lib
in module rwslice
Linker Error: Undefined symbol
istream::operator >>(int far&)
in library file ........ oguemath513libmthlw.lib
in module rwslice
Linker Error: Undefined symbol
istream::putback(char)
in library file ........ oguemath513libmthlw.lib
in module rwslice
Linker Error: Undefined symbol
istrstream::istrstream(char far*)
in library file ........ oguemath513libmthlw.lib
in module rwslice
Linker Error: Undefined symbol
istrstream::~istrstream()
in library file ........ oguemath513libmthlw.lib
in module rwslice
Linker Error: Undefined symbol
istream::~istream()
in library file ........ oguemath513libmthlw.lib
in module rwslice
Linker Error: Undefined symbol
istream::get(char far&)
in library file ........ oguemath513libmthlw.lib
in module dvecio
Linker Error: Undefined symbol
istream::operator >>(double far&)
in library file ........ oguemath513libmthlw.lib
in module dvecio
Linker Error: Undefined symbol
ostream::outstr(const char far*,const char far*)
in library file ........ oguemath513libmthlw.lib
in module dvecio
Linker Error: Undefined symbol
ostream::operator <<(long double)
in library file ........ oguemath513libmthlw.lib
in module dvecio
Linker Error: Undefined symbol
ostream::operator <<(long)
in library file ........ oguemath513libmthlw.lib
in module ivecio

 




Cause


This is caused by compiling the Math.h++ libraries using the static version of the runtime library and trying to link this library with a project that is trying to use a dynamic version of the library (ie. compiled with the _RTLDLL macro defined - this is the default option).

 

 




Action


When using a static version of Math.h++, you must make sure you use a static version of the C runtime library. You can select this from Target Expert. To do this, go to your project window, press the right mouse button, and select Target Expert... Then under the Standard Libraries block, you must choose static. Then rebuild your entire project and these errors will go away.

 


This article was:   Helpful | Not helpful
Report an issue
Article ID: 822
Last updated: 29 Jan, 2008
Revision: 1
Views: 2975
Posted: 27 Jun, 1997 by --
Updated: 29 Jan, 2008 by

Others in this category