Hi Christian, static variables are intiated before program execution, for example, at the time when dynamic library (DLL) is loaded. ACLiC produces such DLL ("guiArrayImpType_C.so"). In order to make yours example working, you need initialize gSystem, something like: TSystem *gSystem = new TMacSystem; static TString sDir(gSystem->WorkingDirectory()); ... Why do you need such intialization? Regards. Valeriy > Dear Rooters > > I have a long macro where I call TGFileDialog in a > method, where I have defined: > static TString sDir("."); > This macro compiles without any problems with ACLiC! > > However, when I change only the above line to: > static TString sDir(gSystem->WorkingDirectory()); > I get the following error message even though I have > added the include file: #include "TSystem.h" > > root [1] .x guiArrayImpType.C+ > Info in <TUnixSystem::ACLiC>: creating shared library > /Users/cs/ROOT/rootcode/xgui/./guiArrayImpType_C.so > Error: illegal pointer to class object gSystem 0x0 87 > FILE:/Users/cs/ROOT/rootcode/xgui/guiArrayImpType.C LINE:661 > Warning: Error occured during reading source files > Warning: Error occured during dictionary source generation > !!!Removing /Users/cs/ROOT/rootcode/xgui/./tmp_1_Sb1zn8.cxx > /Users/cs/ROOT/rootcode/xgui/./tmp_1_Sb1zn8.h !!! > Error: rootcint: error loading headers... > Error in <ACLiC>: Dictionary generation failed! > Error: Function guiArrayImpType() is not defined in current scope FILE: > LINE:0 > Possible candidates are... > filename line:size busy function type and name > *** Interpreter error recovered *** > root [2] > > Do you have any ideas what the reason for this error could be? > I am running root 3.05/06 on MacOS X 10.2.4. > > Thank you in advance > Best regards > Christian > _._._._._._._._._._._._._._._._ > C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a > V.i.e.n.n.a A.u.s.t.r.i.a > _._._._._._._._._._._._._._._._ > > >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:13 MET