Have been digging into this a bit more, I can confirm that it is an issue that is coming up with Boost 1.66 and is caused by mixing C++98 (QuantLib and QuantExt) and C++11 (OREData and OREAnalytics) libraries and boost::optional.
The issue is caused by a QuantExt class that has a boost::optional
This explains why the QuantExt test suite (all C++98) is unaffected.
I’ve reproduced this with a simple boost example, I’ll post this to the boost forums and see what they say, for now the simplest workarounds for ORE are either
– Use boost 1.65.1 or lower
– Compile QL and QLE with -std=c++11
It also fails on a Mac with clang, so it’s definitely not a compiler issue, on windows it works but I believe that is because there are no strict C++98 flags in DevStudio so the binaries are always compatible.