I am trying to generate a dictionary for my project (after much help from users on this forum!) On a CERN machine where all the details are taken care of for me via CMake, this has been working for a while, but after some recent (probably buggy) additions on my part, the dictionary generation stalls. So, I’m trying to run the dictionary generation manually on my own machine to see more verbose results. However, I run in a more basic problem now, in that valid C++11 code is rejected:
> genreflex dict/EspressoDict.hh -s dict/EspressoDict.xml
In file included from input_line_9:9:
In file included from ./Espresso/GLMBuilder.hh:8:
In file included from ./Espresso/RooGLMFunction.hh:10:
In file included from ./Espresso/GLMCalibration.hh:20:
In file included from ./Espresso/GLMCalibrationFunction.hh:22:
In file included from ./Espresso/GLMModel.hh:16:
In file included from ./Espresso/TaggingResult.hh:16:
./Espresso/BDecayModel.hh:107:29: error: no member named 'make_unique' in namespace 'std'
m_LifetimeDist = std::make_unique<typename std::decay<T>::type>(std::forward<T>(dist));
~~~~~^
./Espresso/BDecayModel.hh:107:69: error: expected '(' for function-style cast or type construction
m_LifetimeDist = std::make_unique<typename std::decay<T>::type>(std::forward<T>(dist));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
./Espresso/BDecayModel.hh:124:31: error: no member named 'make_unique' in namespace 'std'
m_ResolutionDist = std::make_unique<typename std::decay<T>::type>(std::forward<T>(dist));
~~~~~^
./Espresso/BDecayModel.hh:124:71: error: expected '(' for function-style cast or type construction
m_ResolutionDist = std::make_unique<typename std::decay<T>::type>(std::forward<T>(dist));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Error: rootcling: compilation failure (dict/EspressoDict_rflxd088b89dee_dictUmbrella.h)
Do I need to add compiler flags to my genreflex call? I didn’t find any such instructions in the documentations, and blindly trying the GCC/Clang compiler flags did not work.