[omniORB] Unresolved references to VTT and vtable

W T Meyer meyer at iastate.edu
Mon May 23 11:21:48 BST 2005


I'm a newbie to omniOrb and have just installed it on an Intel-based 
machine running Red Hat Linux 7.3. The eg1 and eg2 examples in the echo 
directory compile, build, and run just fine.

I've tried to build my own test application based on eg1 (for now I'm 
keeping it simple).  It compiles with no errors and almost links OK - the 
only errors are missing references to VTT and vtable for my class VXI_i (my 
equivalent to Echo_i in eg1). Code snippets are given below.

How do I resolve these references?

Thanks in advance for your help.

Tom Meyer

Here is the code for VXI_i:

class VXI_i : public POA_VXI,
               public PortableServer::RefCountServantBase {

   public:
     inline VXI_i() {}
     virtual ~VXI_i() {}
     virtual short InitVXIlibrary();
     virtual short CloseVXIlibrary();
     virtual short VXIin(unsigned short accparms, unsigned long addr,
             unsigned short width, unsigned long& value);
     virtual short VXIout(unsigned short accparms, unsigned long addr,
             unsigned short width, unsigned long value);
     virtual short VXImove(unsigned short sparms, unsigned long saddr,
                          unsigned short dparms, unsigned long daddr,
                          unsigned long length, unsigned short width);
};

/*  The method implementations follow this code, I'm omitting them for 
brevity */

Here is the Makefile I built based on the output from gmake building eg1:

CINCLUDES =  -I. -I$(OMNIORB_TOP)/stub -I$(OMNIORB_TOP)/build/include 
-I$(OMNIORB_TOP)/include -I$(DAQ_INCL_DIR)
CDEFINES = -D__OMNIORB4__  -D_REENTRANT -D__OSVERSION__=2 -D__linux__ -D__x86__
CFLAGS = -g -Wall -Wno-unused -fexceptions
OMNILIBS = $(OMNIORB_TOP)/build/lib/libomniORB4.so.0
LDPATH = -L$(OMNIORB_TOP)/lib -L$(OMNIORB_TOP)/build/lib -L$(DAQ_LIB_DIR)
LDSLIBS = -lomniORB4 -lomnithread -lpthread -lcmem_rcc -lrcc_error -lvme_rcc
#LDCLIBS = -l

clients: CoviTest1

CoviSK.cc: Covi.idl
	omniidl -bcxx Covi.idl

CoviSK.o: CoviSK.cc
	g++ -c $(CFLAGS) $(CDEFINES) $(CINCLUDES) -o CoviSK.o CoviSK.cc

CoviTest1.o: CoviTest1.cc CoviSK.cc
	g++ -c $(CFLAGS) $(CDEFINES) $(CINCLUDES) -o CoviTest1.o CoviTest1.cc

CoviTest1: CoviTest1.o CoviSK.o
	g++ -o CoviTest1 $(CFLAGS) $(LDPATH) CoviTest1.o CoviSK.o -lm $(LDSLIBS) 
$(OMNILIBS)


.PHONY : clean
clean:
	-rm *.o *.so *.a *~ core





More information about the omniORB-list mailing list