Boost logo

Boost Users :

From: bill_kempf (williamkempf_at_[hidden])
Date: 2002-01-05 14:57:43


--- In Boost-Users_at_y..., Manu Heirbaut <manu_at_h...> wrote:
> * Jonathan Brownell (alphaomega_at_p...) wrote:
> > Thank you all for your prompt responses. I comment further below:
> >
> > [snip]
> >
> > Again, my problem when linking with the library in VC6 is that
> > libboost_thread.lib(exceptions.obj) has one unresolved external
symbol
> > for basic_string::basic_string(char const *).
> >
> > I'm still flummoxed. If you have more ideas, I would really
appreciate
> > them.
>
> Indeed, make sure that all the runtimes are the same. This means
that
> the selected runtime to build the DLL should match the runtime used
to
> build the client application. But most of the time this doesn't
give any
> build errors. It will give you strange runtime errors when trying to
> delete some objects allocated by another runtime version.

Usually the result will be link errors, actually. One of the few
exceptions to this is mixing debug and release versions.

> I remember having a similar problem as the one you described, and
the
> trouble with the code at hand was mixing different header includes.
> Allways #include <string>, NEVER use the deprecated #include
<string.h>
> (or at least, don't mix them!). The same goes for other standard
library
> header files. Use <iostream> instead <iostream.h>, etc...

<string.h> is neither deprecated, nor in any way related to
<string>. Using them both is very safe and should never cause you
problems. The iostream headers are a different issue, though, and in
that case they should not be mixed.
 
> I hope this will solve your problem.

His problem has been solved. It was, as I suspected, that he was
linking against the static runtime library.

Bill Kempf


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net