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

Generated on Thu Nov 28 2013 07:02:50 for GDCM by doxygen 1.7.6.1
SourceForge.net Logo