
On 03.11.2010 19:01, John Maddock wrote:
Long story short of this post: Are there any plans (left) to add additional name mangling to the boost libs on Windows to address the problem of mismatched _SECURE_SCL setting?
Long story short: I'm happy to add this to the auto-linking header if we all agree on a mangling scheme - how about "idl#" where # is the IDL level?
However, there really isn't much point in this unless we also add this to Boost.Build: since it seems that now that this has been rationalized in VC10 I guess "idl=0/1/2" would work well? Unless it's possible to have HID=1 SCL=0 as an option in any VC versions?
Given your own comment in the other post: (03.11.2010 19:03, John Maddock)
Yes. VC10's linker deterministically detects IDL mismatch and emits hard errors, naming the offending object files.
Cool, I'll investigate adding support for that to our auto-linking header.
and Stephan's comment: (03.11.2010 18:02, Stephan T. Lavavej)
In Visual Studio 2010, the situation is reversed, as Microsoft decided to now default to _SECURE_SCL=0. That means the people who change it to 1 in their release build for additional security will be bitten by the problem.
I can confidently predict that almost nobody will do that.
Adding the name mangling may not be necessary for VS2010: I agree that very few people will actually enable _SECURE_SCL in release mode and if #pragma detect_mismatch works with the boost autolink machinery, then we'll get linker errors anyway. cheers, Martin