Boost logo

Boost :

From: Patrick Bennett (patrick_at_[hidden])
Date: 2002-05-29 12:05:53


I've been working on getting the latest version of Boost built
(MS VC6 SP5) and have noticed some problems.

The debug builds (or release build if '<debug-symbols>on' is set)
produce (correctly) a PDB file for the dll.
The problem is, the filename of the DLL and PDB are always created as
boost_regex.[dll/pdb]. Well, with a debug build, the dll is copied
to boost_regex_debug.dll (as well as the import library). Well, the
end result is good, in that the debug-build has a different name, but...

With VC, DLL's/PDB's contains embedded information based on how they
were created (such as the name of the matching pdb/dll). Unfortunately,
in this case, these names will no longer be the same. As a result, VC
will always try to load boost_regex.pdb, not boost_regex_debug.pdb.
That's probably fine, as long as you don't need to debug a 'release'
buildp problem. Basically, the PDB's that are created (debug & release)
have the same name, and reference the same dll name (boost_regex.dll)
regardless of how they were compiled.

The configuration needs changed to actually explicitly create
boost_regex_debug.dll, boost_regex_debug.pdb, boost_regex_debug.lib at
compile/link time, not as a result of a post 'file copy/rename' operation.

As it stands, I don't see how it would be possible to debug both release
or debug builds of the boost regex dll.

Comments? Am I way off base here?

Thanks,
Patrick Bennett


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk