GDCM
2.2.3
|
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