Closed mwoehlke-kitware closed 2 years ago
Windows build error:
D:\workspace\FletchWindowsPR\build\build\src\YAMLcpp\include\yaml-cpp/exceptions.h(261): error C3646: '_NOEXCEPT': unknown override specifier [D:\workspace\FletchWindowsPR\build\build\src\YAMLcpp-build\yaml-cpp.vcxproj] [D:\workspace\FletchWindowsPR\build\YAMLcpp.vcxproj]
If you look at ${YAMLcpp_source}/include/yaml-cpp/exceptions.h and ${YAMLcpp_source}/src/exceptions.cpp you can see the issue.
// This is here for compatibility with older versions of Visual Studio // which don't support noexcept
#define YAML_CPP_NOEXCEPT _NOEXCEPT
#define YAML_CPP_NOEXCEPT noexcept
I don't know where _NOEXCEPT is supposed to come from but I'm guessing it's some pre-c++11 MSVC definition. It doesn't appear to be defined though, thus the error. Also not sure how much 'older' MSVC needs to be for that to work, but reducing it to
works just fine on the dashboard machine.
Yeah, it needs a patch reintroduced. Unfortunately I don't know when/if I'll get to it, as it looks like I'm not going to be using fletch after all for the project that needs the newer version.
Closed in favor of #708.
Update to a newer release of yaml-cpp. Particularly, this version uses C++11 and removes the dependency on Boost. (It also appears to have the patches we need, allowing us to remove our local patches.)