I’ve just migrated from 4.00.08 to 4.01.02 using rh90_322 binaries.
However i found that executing in a macro gROOT->ProcessLine(“File.cxx+”) causes g++ complain:
g++: vector.dll: No such file or directory
g++: stdfunc.dll: No such file or directory
g++: list.dll: No such file or directory.
My configuration looks properly done.
Could you try again. I forgot to build the cintdlls on this platform.
I guess they are exists from the beginnng:
791782 Sep 26 12:11 /work/root/v4.01.02/rh90_gcc322/root/cint/stl/vector.dll
I tried - result is the same.
could you send the shortest possible script reproducing the problem?
The problem is in the #include and #include lines in the interpreted macro
with gROOT->ProcessLine(".L file.cxx+"). Hiding them inside #ifndef CINT helps.
I guess there is a misunderstanding in your procedure of using g++. vector.dll, stdfunc.dll exists for Cint to dynamically load precompiled library. g++ should not read those libraries. In other words, those
libraries are needed only when you interpret scripts or when you are generating dictinoary code using rootcint or makecint. Neither case,
g++ should not read it. So, masking them with #ifdef CINT can be a right solution.
But, anyway, will you describe what you are trying to do and the procedure.
I try to run .x tasks.C in my ROOT session.
Here is an essential part of tasks.C:
// <========= outside ifndef causes complaints from v4.01.02
void tasks(const Option_t* opt=“seq”)
The code with STL includes being outside “ifndef CINT” was proper for v4.00.
Thank you for explanation.