How to compile DCMTK 3.6.0 on mac os x 10.8(mountain lion)?

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
MilanoFili
Posts: 12
Joined: Wed, 2013-05-29, 06:07

How to compile DCMTK 3.6.0 on mac os x 10.8(mountain lion)?

#1 Post by MilanoFili »

Hi,

Today I've installed 10.8 and respectively I installed the new clang and llvm compiler by Xcode. It seems new c++ features are supported by this version. Now the following problem with the compilation of the DCMTK has occurred :

Code: Select all

...
[ 27%] Building CXX object dcmimgle/libsrc/CMakeFiles/dcmimgle.dir/dimoimg.o
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:38:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:127:17: error: 
      use of undeclared identifier 'scaleData'
                scaleData(&pixel, &this->Data, interpolate, value);
                ^
                this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:91:17: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::scale' requested here
                scale(OFstatic_cast(const T *, pixel->getData()),...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:356:33: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::DiMonoScaleTemplate' requested here
  ...= new DiMonoScaleTemplate<Uint8>(image->InterData, image->Columns,...
           ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:194:10: note: 
      must qualify identifier to find this declaration in dependent base class
    void scaleData(const T *src[],
         ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:209:17: error: 
      use of undeclared identifier 'fillPixel'
                fillPixel(dest, value);...
                ^
                this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:127:17: note: 
      in instantiation of member function 'DiScaleTemplate<unsigned
      char>::scaleData' requested here
                scaleData(&pixel, &this->Data, interpolate, value);
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:91:17: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::scale' requested here
                scale(OFstatic_cast(const T *, pixel->getData()),...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:356:33: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::DiMonoScaleTemplate' requested here
  ...= new DiMonoScaleTemplate<Uint8>(image->InterData, image->Columns,...
           ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/ditranst.h:106:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void fillPixel(T *dest[],
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:38:
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:37:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:214:21: error: 
      use of undeclared identifier 'copyPixel'
                    copyPixel(src, dest);...
                    ^
                    this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/ditranst.h:93:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void copyPixel(const T *src[],
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:38:
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:37:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:570:13: error: 
      use of undeclared identifier 'clearPixel'
            clearPixel(dest);
            ^
            this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:222:17: note: 
      in instantiation of member function 'DiScaleTemplate<unsigned
      char>::interpolatePixel' requested here
                interpolatePixel(src, dest);...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:127:17: note: 
      in instantiation of member function 'DiScaleTemplate<unsigned
      char>::scaleData' requested here
                scaleData(&pixel, &this->Data, interpolate, value);
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:91:17: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::scale' requested here
                scale(OFstatic_cast(const T *, pixel->getData()),...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:356:33: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::DiMonoScaleTemplate' requested here
  ...= new DiMonoScaleTemplate<Uint8>(image->InterData, image->Columns,...
           ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/ditranst.h:118:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void clearPixel(T *dest[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:38:
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:37:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:1032:13: error: 
      use of undeclared identifier 'clearPixel'
            clearPixel(dest);
            ^
            this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:225:17: note: 
      in instantiation of member function 'DiScaleTemplate<unsigned
      char>::bicubicPixel' requested here
                bicubicPixel(src, dest);...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:127:17: note: 
      in instantiation of member function 'DiScaleTemplate<unsigned
      char>::scaleData' requested here
                scaleData(&pixel, &this->Data, interpolate, value);
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:91:17: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::scale' requested here
                scale(OFstatic_cast(const T *, pixel->getData()),...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:356:33: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::DiMonoScaleTemplate' requested here
  ...= new DiMonoScaleTemplate<Uint8>(image->InterData, image->Columns,...
           ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/ditranst.h:118:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void clearPixel(T *dest[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:38:
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:37:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:908:13: error: 
      use of undeclared identifier 'clearPixel'
            clearPixel(dest);
            ^
            this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/discalet.h:228:17: note: 
      in instantiation of member function 'DiScaleTemplate<unsigned
      char>::bilinearPixel' requested here
                bilinearPixel(src, dest);...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:127:17: note: 
      in instantiation of member function 'DiScaleTemplate<unsigned
      char>::scaleData' requested here
                scaleData(&pixel, &this->Data, interpolate, value);
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimosct.h:91:17: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::scale' requested here
                scale(OFstatic_cast(const T *, pixel->getData()),...
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:356:33: note: 
      in instantiation of member function 'DiMonoScaleTemplate<unsigned
      char>::DiMonoScaleTemplate' requested here
  ...= new DiMonoScaleTemplate<Uint8>(image->InterData, image->Columns,...
           ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/ditranst.h:118:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void clearPixel(T *dest[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:39:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h:109:21: error: 
      use of undeclared identifier 'flipHorzVert'
                    flipHorzVert(&pixel, &this->Data);
                    ^
                    this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h:77:17: note: 
      in instantiation of member function 'DiMonoFlipTemplate<unsigned
      char>::flip' requested here
                flip(OFstatic_cast(const T *, pixel->getData()), horz, vert);
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:440:33: note: 
      in instantiation of member function 'DiMonoFlipTemplate<unsigned
      char>::DiMonoFlipTemplate' requested here
  ...InterData = new DiMonoFlipTemplate<Uint8>(image->InterData, Columns,...
                     ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/diflipt.h:213:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void flipHorzVert(const T *src[],
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/diflipt.h:313:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void flipHorzVert(T *data[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:39:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h:111:21: error: 
      use of undeclared identifier 'flipHorz'
                    flipHorz(&pixel, &this->Data);
                    ^
                    this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/diflipt.h:144:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void flipHorz(const T *src[],
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/diflipt.h:243:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void flipHorz(T *data[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:39:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimoflt.h:113:21: error: 
      use of undeclared identifier 'flipVert'
                    flipVert(&pixel, &this->Data);
                    ^
                    this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/diflipt.h:177:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void flipVert(const T *src[],
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/diflipt.h:276:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void flipVert(T *data[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:40:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimorot.h:108:21: error: 
      use of undeclared identifier 'rotateRight'
                    rotateRight(&pixel, &(this->Data));
                    ^
                    this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimorot.h:78:17: note: 
      in instantiation of member function 'DiMonoRotateTemplate<unsigned
      char>::rotate' requested here
                rotate(OFstatic_cast(const T *, pixel->getData()), degree);
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:507:33: note: 
      in instantiation of member function 'DiMonoRotateTemplate<unsigned
      char>::DiMonoRotateTemplate' requested here
  ...= new DiMonoRotateTemplate<Uint8>(image->InterData, image->Columns,...
           ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dirotat.h:183:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void rotateRight(const T *src[],
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dirotat.h:288:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void rotateRight(T *data[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:40:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimorot.h:110:21: error: 
      use of undeclared identifier 'rotateTopDown'
                    rotateTopDown(&pixel, &(this->Data));
                    ^
                    this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dirotat.h:220:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void rotateTopDown(const T *src[],
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dirotat.h:326:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void rotateTopDown(T *data[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:40:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimorot.h:112:21: error: 
      use of undeclared identifier 'rotateLeft'
                    rotateLeft(&pixel, &(this->Data));
                    ^
                    this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dirotat.h:146:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void rotateLeft(const T *src[],
                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dirotat.h:250:17: note: 
      must qualify identifier to find this declaration in dependent base class
    inline void rotateLeft(T *data[])
                ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:36:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h:79:17: error: 
      use of undeclared identifier 'determineMinMax'
                determineMinMax(OFstatic_cast(T3,...
                ^
                this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:758:33: note: 
      in instantiation of member function 'DiMonoInputPixelTemplate<unsigned
      char, unsigned int, unsigned char>::DiMonoInputPixelTemplate' requested
      here
                InterData = new DiMonoInputPixelTemplate<Uint8, Uint32,...
                                ^
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimopxt.h:347:10: note: 
      must qualify identifier to find this declaration in dependent base class
    void determineMinMax(T minvalue = 0,
         ^
In file included from /Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/libsrc/dimoimg.cc:36:
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimoipxt.h:82:17: error: 
      use of undeclared identifier 'determineMinMax'
                determineMinMax(OFstatic_cast(T3,...
                ^
                this->
/Users/miladrezayee/Desktop/tmp/dcmtk-3.6.0/dcmimgle/include/dcmtk/dcmimgle/dimopxt.h:347:10: note: 
      must qualify identifier to find this declaration in dependent base class
    void determineMinMax(T minvalue = 0,
         ^
14 errors generated.
make[2]: *** [dcmimgle/libsrc/CMakeFiles/dcmimgle.dir/dimoimg.o] Error 1
make[1]: *** [dcmimgle/libsrc/CMakeFiles/dcmimgle.dir/all] Error 2
make: *** [all] Error 2
What can I do? I need new version? where can I get new version or ?

MilanoFili
Posts: 12
Joined: Wed, 2013-05-29, 06:07

Re: How to compile DCMTK 3.6.0 on mac os x 10.8(mountain lio

#2 Post by MilanoFili »

Oki, I solved the problem by downloading 3.6.1. Now I like using cmake instead of autoconf on mac os x. When I use cmake, the *.h files aren't generated from *.h.in. For example, osconfig.h is not exist, when I run cmake :oops:

J. Riesmeier
DCMTK Developer
Posts: 2503
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: How to compile DCMTK 3.6.0 on mac os x 10.8(mountain lio

#3 Post by J. Riesmeier »

The file "osconfig.h" should have been generated in the "config/include/dcmtk/config" subdirectory of the build directory.

MilanoFili
Posts: 12
Joined: Wed, 2013-05-29, 06:07

Re: How to compile DCMTK 3.6.0 on mac os x 10.8(mountain lio

#4 Post by MilanoFili »

Ok, I solved it. When you are using shadow build with cmake, then you should find the converted *.h from *.h.in in build folder.

Post Reply

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest