[ROOT] Rootcint again: Linker errors

From: Ole Streicher (ole@ifh.de)
Date: Fri Aug 23 2002 - 16:49:29 MEST


Hello again!

I have now the problem to get linker errors when using rootcint.
When I try to link my class to a complete program, I get the following:

undefined reference to `myexperiment::EventHeader::ShowMembers(TMemberInspector &, char *)'
undefined reference to `ROOT::GenerateInitInstance(myexperiment::EventHeader const *)'
undefined reference to `myexperiment::EventHeader::Streamer(TBuffer &)'
undefined reference to `myexperiment::EventHeader::Class(void)'

The rootcint call I use is 

rootcint -f EventHeaderDict.cpp -c EventHeader.h LinkDef.h

and ofcourse I include the "EventHeaderDict.cpp" in my library. Doing
a "grep Streamer EventHeaderDict.cpp" also doesn't show any match.

I have the following relevant files:

EventHeader.h
==============
#include <TObject.h>
namespace myexperiment {
  class EventHeader : public TObject {
  private:
    int i;
  public:
    EventHeader();
    EventHeader(int);
    ~EventHeader();
    ClassDef(EventHeader, 1)
  };
}

EventHeader.cpp
===============
#include "EventHeader.h"
using namespace myexperiment;
EventHeader::EventHeader(int run) {}
EventHeader::~EventHeader() {}
ClassImp(EventHeader)

LinkDef.h
=========
#ifdef __CINT__
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;
#pragma link off all typedef;
#pragma link C++ class EventHeader;
#endif

Can you hint what is wrong here?

Tschuessi

Ole



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:05 MET