Enable User-support for C++14 without recompiling ROOT?

Hi all,

quick question: Is it possible to enable C++14 support for dictionaries/includes without recompiling ROOT?

I know the compiler is capable of C++14 but ROOT has not been compiled with -Dcxx14=ON. Is there a way to enable support for custom headers in C++14 (modify cling compile flags?) or is a recompile strictly necessary?

No. As far as I can tell, if you do not compile ROOT with C++14, your macros/dictionaries will have to use C++11 only. You may be able to compile separate user code with C++14 if it is in a diferent object file that you link against the rest of the code afterwards.

Follow-up question: what is the state of C++17 support? I’d love to use for (auto& [key, value] : my_map) {...}!

C++17 support is unfortunately not there yet, but will be in 6.12. It will require either GCC 7.2.0 or Clang 5.0.0, as earlier versions of these compilers are not fully compatible or even have a full implementation of C++17 as far as I can tell.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.