
Tanguy Fautre <tanguy.fautre@spaceapplications.com> writes:
Hi,
Currently with Boost 1.33.1 and Visual C++ 2005, the libraries are compiled with the default _SECURE_SCL=1 value, which means Boost *.lib and *.dll files are compiled with checked iterator enabled.
When an application using Boost is compiled with _SECURE_SCL=1 too, everything is fine.
However, all hell breaks loose when the application is compiled with _SECURE_SCL=0 (which is the case of our projects). The problem arises because apparently the iterator implementation and structure is different.
Therefore any call to Boost *.lib or *.dll functions with an iterator passed as an argument will result in a weird and unexplained crash (I first got the problem when using Boost.Signals).
Because Visual C++ 2005 checked iterators are not Standard C++ compliant, I think that it ought to be possible to disable them when compiling Boost (e.g. using an additional bjam variable in the vc-8_0 toolset?).
Heh, I think we ought to think very carefully about changing our default. -- Dave Abrahams Boost Consulting www.boost-consulting.com