|
Boost Users : |
From: Allen Cronce (acronce_at_[hidden])
Date: 2005-09-15 14:13:15
Hi all,
I just updated from boost 1.32.0 to 1.33.0 for a CodeWarrior MSL/carbon
project under Mac OS X. There were several build errors stemming from
the fact that "check" is already defined in /usr/include/AssertMacros.h.
For now I dealt with this my modifying my copy of the boost libraries to
substitute _check for check. This is of course an ugly solution, but I
wanted to move forward.
Unfortunately now I'm seeing crashes with code that worked fine with
1.32.0. Here's some test code that demonstrates the crash:
_tprintf(_T("\nTest a vector of boost shared_ptr's:\n"));
typedef boost::shared_ptr<std::string> SharedPtrString;
typedef vector<SharedPtrString> StringContainer;
typedef vector<SharedPtrString>::iterator StringContainerIterator;
{
SharedPtrString sharedPtrString1(new std::string("Hi there!"));
SharedPtrString sharedPtrString2(new std::string("Hi there!"));
_tprintf( _T(" sharedPtrString1->c_str() = \"%s\"\n"),
sharedPtrString1->c_str() );
_tprintf( _T(" sharedPtrString2->c_str() = \"%s\"\n"),
sharedPtrString2->c_str() );
}
// We never get here because of an access error
Basically when the SharedPtrString goes out of scope, I get an access
error deep in the allocation code. Does anyone have suggestions for
resolving these issues? Note that I could go back to 1.32.0, but I want
to use the new Pointer Container Library.
Best regards,
-- Allen Cronce
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