|
Boost : |
From: Simon Buchan (simon_at_[hidden])
Date: 2005-10-30 19:50:27
Dan McLeran wrote:
> Yesterday, I tried upgrading from Boost 1.30 to 1.33 and I got the weirdest
> reaction from my linker. Some background: I am using MSVC6SP6; The code in
> question is a dll that runs under PharLap 9.1. I am linking against libcmt
> as well as a lib called cellexe.lib, which provides all of the C runtime
> stuff and PharLap-specific OS stuff.
<snip>
Why are you linking against libcmt if cellexe.lib has C runtime stuff?
(what does cmt have that cellexe doesn't, in other words)
> I can't understand why the linker is now searching for _main when the
> project is a dll and I have all the necessary stuff: .def file, /dll switch,
> etc. I have compiled and run this dll for literally years when using Boost
> 1.30.
>
> Can anyone think of anything in this Boost library upgrade that could cause
> this? Keep in mind that I did not change any project setting other than the
> include directories to point the compiler at the directories containing
> Boost 1.33 and that I have been using this code along with Boost 1.30 for
> years.
>
It sounds very strange. Is it possible to check this with another
compiler? MSVC 6 is known to be rather, /interesting/ in it's
interpretation of the standard, but I haven't heard much about linking
issues. It could be a latent issue with your linking order that a change
in the boost lib's exposed, but I can't think of any (reasonable) reason
why they would. Can you give the link line you're using? Does removing
LIBCMT stop the search for main (for some reason)?
PS: PharLap is the Real-Time Windows-API-compatible mini-kernel? It
looks quite cool.
-- don't quote this
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk