# gdcmWin32.h

Go to the documentation of this file.

    00001 /*=========================================================================
    00002
    00003   Program: GDCM (Grassroots DICOM). A DICOM library
    00004   Module:  $URL$
    00005
    00006   Copyright (c) 2006-2010 Mathieu Malaterre
    00007   All rights reserved.
    00008   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
    00009
    00010      This software is distributed WITHOUT ANY WARRANTY; without even
    00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    00012      PURPOSE.  See the above copyright notice for more information.
    00013
    00014 =========================================================================*/
    00015
    00016 #ifndef GDCMWIN32_H
    00017 #define GDCMWIN32_H
    00018
    00019 #if !defined(GDCMTYPES_H)
    00020 #error you need to include gdcmTypes.h instead
    00021 #endif
    00022 //-----------------------------------------------------------------------------
    00023 #if defined(WIN32) && defined(GDCM_BUILD_SHARED_LIBS)
    00024   #if (defined(gdcmCommon_EXPORTS) || defined(gdcmDICT_EXPORTS) || defined(gdcmDSED_EXPORTS) || defined(gdcmIOD_EXPORTS) || defined(gdcmMSFF_EXPORTS) || defined(_gdcmswig_EXPORTS)) || defined(vtkgdcm_EXPORTS)
    00025     #define GDCM_EXPORT __declspec( dllexport )
    00026   #else
    00027     #define GDCM_EXPORT __declspec( dllimport )
    00028   #endif
    00029 #else
    00030   #define GDCM_EXPORT
    00031 #endif
    00032
    00033 // In VTK 4.2 vtkWrapPython does not like anything other than VTK_*EXPORT
    00034 // [ 86%] Generating vtkGDCMImageReaderPython.cxx
    00035 // syntax error
    00036 // *** SYNTAX ERROR found in parsing the header file /usr/local/src/gdcm2/tags/gdcm-2-0-11/Utilities/VTK/vtkGDCMImageReader.h before line 128***
    00037 // make[2]: *** [Utilities/VTK/vtkGDCMImageReaderPython.cxx] Error 1
    00038 // make[1]: *** [Utilities/VTK/CMakeFiles/vtkgdcmPythonD.dir/all] Error 2
    00039 // make: *** [all] Error 2
    00040
    00041 #if defined(VTK_MAJOR_VERSION) && ( VTK_MAJOR_VERSION == 4 )
    00042 #undef VTK_EXPORT
    00043 #define VTK_EXPORT GDCM_EXPORT
    00044 #endif
    00045
    00046 //-----------------------------------------------------------------------------
    00047 //This is needed when compiling in debug mode
    00048 #ifdef _MSC_VER
    00049 // to allow construct such as: std::numeric_limits<int>::max() we need the following:
    00050 // warning C4003: not enough actual parameters for macro 'max'
    00051 #define NOMINMAX
    00052 # pragma warning ( default : 4263 ) /* no override, call convention differs */
    00053 // 'identifier' : class 'type' needs to have dll-interface to be used by
    00054 // clients of class 'type2'
    00055 #pragma warning ( disable : 4251 )
    00056 // non dll-interface class 'type' used as base for dll-interface class 'type2'
    00057 #pragma warning ( disable : 4275 )
    00058 // 'identifier' : identifier was truncated to 'number' characters in the
    00059 // debug information
    00060 #pragma warning ( disable : 4786 )
    00061 //'identifier' : decorated name length exceeded, name was truncated
    00062 #pragma warning ( disable : 4503 )
    00063 // C++ exception specification ignored except to indicate a
    00064 // function is not __declspec(nothrow)
    00065 //#pragma warning ( disable : 4290 )
    00066 // signed/unsigned mismatch
    00067 #pragma warning ( disable : 4018 )
    00068 // return type for 'identifier' is '' (ie; not a UDT or reference to UDT. Will
    00069 // produce errors if applied using infix notation
    00070 //#pragma warning ( disable : 4284 )
    00071 // 'type' : forcing value to bool 'true' or 'false' (performance warning)
    00072 // //#pragma warning ( disable : 4800 )
    00073 #endif //_MSC_VER
    00074
    00075 //-----------------------------------------------------------------------------
    00076 #endif //GDCMWIN32_H