|
Boost Users : |
From: Jonathan Brownell (alphaomega_at_[hidden])
Date: 2002-01-02 16:38:42
Thank you all for your prompt responses. I comment further below:
> > We have recently started to use boost in Windows and we have had a
> > similar problem. After some tries, we have sucesfully made a
> > Multithreaded Console Application doing this:
> >
> > In C/C++ -> Code Generation -> Use run-time library
> > select Debug Multithreaded DLL
>
> I'm 99% sure this was the only problem.
I already was using the multithreaded libraries. If I had select
single-threaded libraries, the boost::thread hpp files would have
generated a compiler error.
> > In C/C++ -> C++ Language
> > select Enable RTTI
>
> A good idea in general.
I had already enabled RTTI.
> > In Link -> Input -> Object/Library modules
> > clean all the entries (leave it blank)
>
> This shouldn't be necessary.
This was already blank.
> > In Link -> Input -> Ignore Libraries
> > set: libcmtd.lib, libcmt.lib, libcd.lib, libc.lib
>
> I'm also not sure that this should be necessary.
This was interesting. On Visual C++ 6.0, it did not make any difference
to the linker output. On Visual C++ .NET, it removed all the 'multiply
defined symbol' errors except for those relating to three basic_string
constructors and basic_string::c_str(). (It solved MOST of the problem,
but didn't take care of everything.) However, if I exclude the main C
runtime library files from my build as you suggest, it seems like I
would run into more problems later on when I try to use standard C
functions.
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.
Thanks,
Jonathan
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