Hi Nicolas, If you install ROOT from source on Linux, do ./configure (possibly with options) make make cintdlls (and you will get the stdfunc.dll built) Rene Brun Nicolas Arnaud wrote: > > Hi, > > When loading complex.h, the function exp gets multiply defined. To solve this problem, I > searched in the roottalk archive and I found a thread related to this topic; the last > e-mail it contents was written by Masaharu Goto the 16 July 2001. For sake of > completness, I just quote it below. > > ------------------------ > > (...) > > You need to load stdfunc.dll to avoid this problem. stdfunc.dll > is created in lib/stdstrct directory. Without this library , > double exp(double) is out of function overloading matching. If > complex.h is loaded, complex exp(const complex&) is always used > and it causes infinite recursion. Loading stdfunc.dll, > double exp(double) is properly handled and you can avoid the > problem. > > For making stdfunc.dll, there are 2 methods. > > 1) Using pure cint package > Download pure cint source package, install it using an > appropriate platform dependency file. At the end all essential > DLLs will be created. You will find $CINTSYSDIR/include/stdfunc.dll. > Copy this file to $ROOTSYS/cint/include/stdfunc.dll. > > 2) In root package, one of make option enebles you to build all > essential DLLs. Please refer to ROOT documentation. > (There was a problem in this course, but it was fixed during the > ROOT2001 workshop.) > > (...) > > ----------------------- > > That looks fine but I don't succeed in using method 2) which seems to me more convenient > for a ROOT user: the ROOT compilation (version 3.10/2) I did on linux didn't create me > any .dll file -- in particular, in $ROOTSYS/cint/lib/stdstrct I don't have the file > stdfunc.dll mentionned above. In addition, I couldn't find the description of the proper > ROOT make option in the directory $ROOTSYS/README. > > Thanks for your help! > > Nicolas
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET