Hello, I have another problem. This time is related to rootcint. I created a DicomImage class which reads Dicom images using xmedcon software written in C. This part works fine when I test it. I am trying to combine DicomImage class with MyMainFrame class using following Makefile. # # Makefile for MyMain # ROOTCFLAGS := $(shell root-config --cflags) ROOTLIBS := $(shell root-config --libs) MEDCONCFLAGS := $(shell /usr/local/medcon/bin/medcon-config --cflags) MEDCONLIBS := $(shell /usr/local/medcon/bin/medcon-config --libs) CXXFLAGS = -g -v CXXFLAGS += $(MEDCONCFLAGS) CXXFLAGS += -I/home/michal/Tests/DicomImage LIBS += $(ROOTLIBS) LIBS += -L/home/michal/Tests/DicomImage -lDicomImage LIBS += $(MEDCONLIBS) CC = g++ all: MyMainFrameDict.cxx MyMainFrameDict.o MyMainFrame.o MyMain MyMainFrameDict.cxx: MyMainFrame.h MyMainFrameLinkDef.h @echo "Generating Dictionary $@..." @rootcint -f $@ -c $(CXXFLAGS) -p $^ MyMainFrameDict.o: MyMainFrameDict.cxx @echo "Compiling $< ..." @$(CC) -g -Wno-deprecated $(ROOTCFLAGS) -c $^ MyMainFrame.o: MyMainFrame.cxx MyMainFrame.h @echo "Compiling $< ..." @$(CC) -g -Wno-deprecated $(CXXFLAGS) $(ROOTCFLAGS) -c MyMainFrame.cxx MyMain: MyMain.cxx MyMainFrame.o MyMainFrameDict.o @echo "Compiling $< ..." @$(CC) -g -Wno-deprecated $(CXXFLAGS) $(ROOTCFLAGS) $(LIBS) $^ -o $@ ############### End of Makefile ################ The problem is in the first step when rootcint tries to generate MyMainFrameDict.cxx. This step involves headers from medcon library. In these headers there are new types which seem to be unrecognized by rootcint. So, I get a bunch of errors like these Error: Symbol Int16Samples_Per_Pixel is not defined in current scope FILE:/usr/local/medcon/include/m-structs.h LINE:70 Error: Symbol Int16start_time_hour is not defined in current scope FILE:/usr/local/medcon/include/m-structs.h LINE:95 Error: Symbol Int16start_time_minute is not defined in current scope FILE:/usr/local/medcon/include/m-structs.h LINE:96 Error: Symbol Int16start_time_second is not defined in current scope FILE:/usr/local/medcon/include/m-structs.h LINE:97 where Int16 is defined as /* 16 bit type */ #ifdef SHORT_2BYTE typedef short Int16; typedef unsigned short Uint16; #elif INT_2BYTE typedef int Int16; typedef unsigned int Uint16; #endif Is any work around this problem? I appreciate any suggestions. Michal
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET