[ROOT] rootcint problem

From: HP Wei (hp@rentec.com)
Date: Fri Mar 21 2003 - 23:10:30 MET


// test.H
#include <string>
 
namespace test {
 extern string const abc;
 extern char const * const default_str;
}


// testLinkDef.h
#ifdef __CINT__

#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;

#pragma link C++ namespace test;
#pragma link C++ nestedclass;
#pragma link C++ nestedtypedef;
#endif

---------------------------------------------
(1) rootcint testDict.C -c -p test.H testLinkDef.h
    
    this step is ok.
    
(2) g++ -O -fPIC -I/home/hp/ROOT/include -I./  -c -o testDict.o testDict.C
  testDict.C: In function `void G__setup_memvartest()':
testDict.C:155: `p' undeclared (first use this function)
testDict.C:155: (Each undeclared identifier is reported only once
testDict.C:155: for each function it appears in.)
testDict.C:156: `constdefault_str' undeclared in namespace `test' 

-----------------------------------------------------------
cint version: 5.15.76
Sun Solaris 9;
gcc 2.95.2

-----------------------------------------------------
If I change test.H to the following:

namespace test {
 extern string abc;
 extern char const * default_str;
}

then
default_str will be ok.
But
abc will still have the same 'p' undeclared message.

please help,
thanks,
HP



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET