From 0c3b9fe15019957b93b11a0f636222b4bf7970d5 Mon Sep 17 00:00:00 2001
From: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org>
Date: Mon, 18 Aug 2008 17:36:54 +0000
Subject: [PATCH] COMP: Adding #includes required by Gcc 4.3.

---
 Code/Common/otbCommandLineArgumentParser.h                 | 1 +
 Code/IO/otbMSTARImageIO.h                                  | 1 +
 Testing/Code/Common/otbDataNodeTest.cxx                    | 1 +
 Testing/Code/Common/otbPathListToPathListFilterNew.cxx     | 1 +
 .../Code/Common/otbPolyLineParametricPathWithValueNew.cxx  | 1 +
 Testing/Code/Common/otbPolygon.cxx                         | 2 ++
 Testing/Code/Common/otbPolygonNew.cxx                      | 1 +
 Testing/Code/Common/otbSystemTest.cxx                      | 1 +
 Testing/Utilities/6SFunctionMainTest.cxx                   | 1 +
 Testing/Utilities/svmGenericKernelFunctor.cxx              | 1 +
 Testing/Utilities/svmGenericKernelTest.cxx                 | 1 +
 Testing/Utilities/svmTest.cxx                              | 1 +
 Utilities/ITK/Code/Common/itkByteSwapper.txx               | 1 +
 Utilities/ITK/Code/Common/itkColorTable.txx                | 1 +
 Utilities/ITK/Code/Common/itkImportImageContainer.txx      | 1 +
 Utilities/ITK/Code/Common/itkLevelOrderTreeIterator.h      | 1 +
 Utilities/ITK/Code/Common/itkMetaDataObject.h              | 7 ++++---
 Utilities/ITK/Code/Common/itkNeighborhood.h                | 4 ++--
 Utilities/ITK/Code/Common/itkNeighborhood.txx              | 1 +
 Utilities/ITK/Code/Common/itkObjectFactoryBase.cxx         | 1 +
 Utilities/ITK/Code/Common/itkTreeNode.txx                  | 1 +
 Utilities/ITK/Code/Common/itkVariableLengthVector.txx      | 1 +
 Utilities/ITK/Code/Common/itkXMLFileOutputWindow.cxx       | 1 +
 Utilities/ITK/Code/IO/itkBrains2HeaderBase.cxx             | 1 +
 Utilities/ITK/Code/IO/itkIOCommon.cxx                      | 2 +-
 Utilities/ITK/Code/Numerics/FEM/itkFEMObjectFactory.h      | 1 +
 Utilities/ITK/Utilities/DICOMParser/DICOMParser.h          | 1 +
 Utilities/ITK/Utilities/DICOMParser/DICOMSource.h          | 5 +++--
 Utilities/ITK/Utilities/vxl/core/testlib/testlib_main.cxx  | 1 +
 Utilities/dxflib/dl_writer.h                               | 1 +
 Utilities/otbossim/include/ossim/base/ossimCplUtil.h       | 1 +
 Utilities/otbossim/include/ossim/base/ossimIrect.h         | 1 +
 Utilities/otbossim/include/ossim/base/ossimRtti.h          | 1 +
 Utilities/otbossim/include/ossim/base/ossimString.h        | 2 ++
 .../include/ossim/imaging/EnvisatAsar/EnvisatAsarRecord.h  | 2 ++
 .../ErsSar/ErsSarData/ErsSarImageOptionsFileDescriptor.h   | 1 +
 .../imaging/ErsSar/ErsSarLeader/ErsSarDataSetSummary.h     | 1 +
 .../ossim/imaging/ErsSar/ErsSarLeader/ErsSarFacilityData.h | 1 +
 .../imaging/ErsSar/ErsSarLeader/ErsSarFileDescriptor.h     | 1 +
 .../imaging/ErsSar/ErsSarLeader/ErsSarMapProjectionData.h  | 1 +
 .../ErsSar/ErsSarLeader/ErsSarPositionVectorRecord.h       | 1 +
 .../include/ossim/imaging/ErsSar/ErsSarRecordHeader.h      | 2 +-
 .../include/ossim/imaging/RadarSat/RadarSatRecord.h        | 2 ++
 .../include/ossim/imaging/RadarSat/RadarSatRecordHeader.h  | 2 +-
 .../otbossim/include/ossim/support_data/ossimDemUtil.h     | 2 ++
 .../otbossim/include/ossim/support_data/ossimNitfCommon.h  | 1 +
 .../otbossim/src/ossim/support_data/ossimNitfIchipbTag.cpp | 1 +
 47 files changed, 58 insertions(+), 10 deletions(-)

diff --git a/Code/Common/otbCommandLineArgumentParser.h b/Code/Common/otbCommandLineArgumentParser.h
index 79f62181c0..52a1632ad6 100755
--- a/Code/Common/otbCommandLineArgumentParser.h
+++ b/Code/Common/otbCommandLineArgumentParser.h
@@ -27,6 +27,7 @@
 #include <vector>
 #include <string>
 #include <map>
+#include <cstdlib>
 
 #include "itkProcessObject.h"
 #include "otbMacro.h"
diff --git a/Code/IO/otbMSTARImageIO.h b/Code/IO/otbMSTARImageIO.h
index 6110c84862..90ae03cca0 100755
--- a/Code/IO/otbMSTARImageIO.h
+++ b/Code/IO/otbMSTARImageIO.h
@@ -23,6 +23,7 @@
 #endif
 
 #include <string>
+#include <cstring>
 #include <fstream>
 #include "itkImageIOBase.h"
 #include <stdio.h>
diff --git a/Testing/Code/Common/otbDataNodeTest.cxx b/Testing/Code/Common/otbDataNodeTest.cxx
index d8b1605bf7..d5a6922e4c 100644
--- a/Testing/Code/Common/otbDataNodeTest.cxx
+++ b/Testing/Code/Common/otbDataNodeTest.cxx
@@ -17,6 +17,7 @@
 =========================================================================*/
 #include "itkExceptionObject.h"
 #include "otbMacro.h"
+#include <cstdlib>
 
 #include "otbDataNode.h"
 
diff --git a/Testing/Code/Common/otbPathListToPathListFilterNew.cxx b/Testing/Code/Common/otbPathListToPathListFilterNew.cxx
index 06dbc563da..5f5de187a7 100644
--- a/Testing/Code/Common/otbPathListToPathListFilterNew.cxx
+++ b/Testing/Code/Common/otbPathListToPathListFilterNew.cxx
@@ -17,6 +17,7 @@
 =========================================================================*/
 #include "itkExceptionObject.h"
 
+#include <cstdlib>
 #include "otbPathListToPathListFilter.h"
 #include "itkPolyLineParametricPath.h"
 
diff --git a/Testing/Code/Common/otbPolyLineParametricPathWithValueNew.cxx b/Testing/Code/Common/otbPolyLineParametricPathWithValueNew.cxx
index 2670187d2b..bb62b421da 100644
--- a/Testing/Code/Common/otbPolyLineParametricPathWithValueNew.cxx
+++ b/Testing/Code/Common/otbPolyLineParametricPathWithValueNew.cxx
@@ -16,6 +16,7 @@
 
 =========================================================================*/
 #include "itkExceptionObject.h"
+#include <cstdlib>
 
 #include "otbPolyLineParametricPathWithValue.h"
 
diff --git a/Testing/Code/Common/otbPolygon.cxx b/Testing/Code/Common/otbPolygon.cxx
index 854f851025..9b6c0937e5 100644
--- a/Testing/Code/Common/otbPolygon.cxx
+++ b/Testing/Code/Common/otbPolygon.cxx
@@ -17,6 +17,8 @@
 =========================================================================*/
 #include "itkExceptionObject.h"
 #include <fstream>
+#include <cstdlib>
+
 #include "otbPolygon.h"
 
 int otbPolygon(int argc, char * argv[])
diff --git a/Testing/Code/Common/otbPolygonNew.cxx b/Testing/Code/Common/otbPolygonNew.cxx
index e8a2141476..088e7c2082 100644
--- a/Testing/Code/Common/otbPolygonNew.cxx
+++ b/Testing/Code/Common/otbPolygonNew.cxx
@@ -16,6 +16,7 @@
 
 =========================================================================*/
 #include "itkExceptionObject.h"
+#include <cstdlib>
 
 #include "otbPolygon.h"
 
diff --git a/Testing/Code/Common/otbSystemTest.cxx b/Testing/Code/Common/otbSystemTest.cxx
index 1579f2dd07..ba5f03dc8f 100755
--- a/Testing/Code/Common/otbSystemTest.cxx
+++ b/Testing/Code/Common/otbSystemTest.cxx
@@ -22,6 +22,7 @@
 
 #include "itkExceptionObject.h"
 #include <iostream>
+#include <cstdlib>
 
 #include "itkMacro.h"
 #include "otbSystem.h"
diff --git a/Testing/Utilities/6SFunctionMainTest.cxx b/Testing/Utilities/6SFunctionMainTest.cxx
index ec71c5abf8..f2b0ab0522 100755
--- a/Testing/Utilities/6SFunctionMainTest.cxx
+++ b/Testing/Utilities/6SFunctionMainTest.cxx
@@ -20,6 +20,7 @@
 #include <iomanip>
 #include <fstream>
 #include <vector>
+#include <cstdlib>
 
 #include "otb_6S.h"
 #include "main_6s.h"
diff --git a/Testing/Utilities/svmGenericKernelFunctor.cxx b/Testing/Utilities/svmGenericKernelFunctor.cxx
index 537bd54672..0b7419ca1e 100755
--- a/Testing/Utilities/svmGenericKernelFunctor.cxx
+++ b/Testing/Utilities/svmGenericKernelFunctor.cxx
@@ -2,6 +2,7 @@
 #include "itkMacro.h"
 
 #include <iostream>
+#include <cstdlib>
 #include "svm.h"
 
 namespace otb
diff --git a/Testing/Utilities/svmGenericKernelTest.cxx b/Testing/Utilities/svmGenericKernelTest.cxx
index afff983930..5ad46a31b8 100755
--- a/Testing/Utilities/svmGenericKernelTest.cxx
+++ b/Testing/Utilities/svmGenericKernelTest.cxx
@@ -2,6 +2,7 @@
 #include "itkMacro.h"
 
 #include <iostream>
+#include <cstdlib>
 #include "svm.h"
 
 namespace otb
diff --git a/Testing/Utilities/svmTest.cxx b/Testing/Utilities/svmTest.cxx
index 21cc8aa815..e7ba282821 100755
--- a/Testing/Utilities/svmTest.cxx
+++ b/Testing/Utilities/svmTest.cxx
@@ -2,6 +2,7 @@
 #include "itkMacro.h"
 
 #include <iostream>
+#include <cstdlib>
 #include "svm.h"
 
 namespace otb
diff --git a/Utilities/ITK/Code/Common/itkByteSwapper.txx b/Utilities/ITK/Code/Common/itkByteSwapper.txx
index b2a8532851..250c667b26 100644
--- a/Utilities/ITK/Code/Common/itkByteSwapper.txx
+++ b/Utilities/ITK/Code/Common/itkByteSwapper.txx
@@ -22,6 +22,7 @@
 #include "itkByteSwapper.h"
 #include "itkObjectFactory.h"
 #include <memory>
+#include <cstring>
 
 namespace itk
 {
diff --git a/Utilities/ITK/Code/Common/itkColorTable.txx b/Utilities/ITK/Code/Common/itkColorTable.txx
index 35671414b0..7225d629df 100644
--- a/Utilities/ITK/Code/Common/itkColorTable.txx
+++ b/Utilities/ITK/Code/Common/itkColorTable.txx
@@ -21,6 +21,7 @@
 #include "itkNumericTraits.h"
 #include "vnl/vnl_sample.h"
 #include <stdio.h>
+#include <cstring>
 
 namespace itk
 {
diff --git a/Utilities/ITK/Code/Common/itkImportImageContainer.txx b/Utilities/ITK/Code/Common/itkImportImageContainer.txx
index d7ef651d59..6f91f5a0e8 100644
--- a/Utilities/ITK/Code/Common/itkImportImageContainer.txx
+++ b/Utilities/ITK/Code/Common/itkImportImageContainer.txx
@@ -21,6 +21,7 @@
 #define _itkImportImageContainer_txx
 
 #include "itkImportImageContainer.h"
+#include <cstring>
 
 namespace itk
 {
diff --git a/Utilities/ITK/Code/Common/itkLevelOrderTreeIterator.h b/Utilities/ITK/Code/Common/itkLevelOrderTreeIterator.h
index 8bdd9b1a69..010a27c980 100644
--- a/Utilities/ITK/Code/Common/itkLevelOrderTreeIterator.h
+++ b/Utilities/ITK/Code/Common/itkLevelOrderTreeIterator.h
@@ -18,6 +18,7 @@
 #define __itkLevelOrderTreeIterator_h
 
 #include <queue>
+#include <climits>
 #include <itkTreeIteratorBase.h>
 
 namespace itk{
diff --git a/Utilities/ITK/Code/Common/itkMetaDataObject.h b/Utilities/ITK/Code/Common/itkMetaDataObject.h
index 64d0fed855..6a4643d295 100644
--- a/Utilities/ITK/Code/Common/itkMetaDataObject.h
+++ b/Utilities/ITK/Code/Common/itkMetaDataObject.h
@@ -27,6 +27,7 @@
 #include "itkFastMutexLock.h"
 
 #include <string>
+#include <cstring>
 
 namespace itk
 {
@@ -188,11 +189,11 @@ namespace itk
        * from page 10.4.11 pg 256 of the Stroustrup book:
        * ========================================================================
        * The reinterpret_cast is the crudest and potentially nastiest of the type
-       * conversion operators.  In most caes, it simply yeilds a value with the
-       * same bit pattern as it's argument wit the type required .  Thus, it can
+       * conversion operators.� In most caes, it simply yeilds a value with the
+       * same bit pattern as it's argument wit the type required .� Thus, it can
        * be used for the inherently implementation-depend, dangerous, and
        * occasionally absolutely necessary activity of converting interger values
-       * to pointers, and  vice versa.
+       * to pointers, and� vice versa.
        */
       outval =
         reinterpret_cast<MetaDataObject <T> *>(Dictionary[key].GetPointer())->GetMetaDataObjectValue();
diff --git a/Utilities/ITK/Code/Common/itkNeighborhood.h b/Utilities/ITK/Code/Common/itkNeighborhood.h
index 155182014a..076a5dcff9 100644
--- a/Utilities/ITK/Code/Common/itkNeighborhood.h
+++ b/Utilities/ITK/Code/Common/itkNeighborhood.h
@@ -73,11 +73,11 @@ public:
   typedef typename AllocatorType::const_iterator ConstIterator;
   
   /** Size and value typedef support. */
-  typedef Size<VDimension> SizeType;
+  typedef ::itk::Size<VDimension> SizeType;
   typedef typename SizeType::SizeValueType SizeValueType;
   
   /** Radius typedef support. */
-  typedef Size<VDimension> RadiusType;
+  typedef ::itk::Size<VDimension> RadiusType;
 
   /** Offset type used to reference neighbor locations */
   typedef Offset<VDimension> OffsetType;
diff --git a/Utilities/ITK/Code/Common/itkNeighborhood.txx b/Utilities/ITK/Code/Common/itkNeighborhood.txx
index dc9d4836b0..e58607385f 100644
--- a/Utilities/ITK/Code/Common/itkNeighborhood.txx
+++ b/Utilities/ITK/Code/Common/itkNeighborhood.txx
@@ -18,6 +18,7 @@
 #define _itkNeighborhood_txx
 
 #include "itkNeighborhood.h"
+#include <cstring>
 
 namespace itk {
   
diff --git a/Utilities/ITK/Code/Common/itkObjectFactoryBase.cxx b/Utilities/ITK/Code/Common/itkObjectFactoryBase.cxx
index ab95e4575c..8dabaf2eb2 100644
--- a/Utilities/ITK/Code/Common/itkObjectFactoryBase.cxx
+++ b/Utilities/ITK/Code/Common/itkObjectFactoryBase.cxx
@@ -27,6 +27,7 @@
 #include "itkVersion.h"
 #include <stdlib.h>
 #include <ctype.h>
+#include <cstring>
 #include <algorithm>
 #include <map>
 
diff --git a/Utilities/ITK/Code/Common/itkTreeNode.txx b/Utilities/ITK/Code/Common/itkTreeNode.txx
index 6fb51c6e05..1a9b1c5477 100644
--- a/Utilities/ITK/Code/Common/itkTreeNode.txx
+++ b/Utilities/ITK/Code/Common/itkTreeNode.txx
@@ -18,6 +18,7 @@
 #define _itkTreeNode_txx
 
 #include "itkTreeNode.h"
+#include <cstring>
 
 namespace itk
 {
diff --git a/Utilities/ITK/Code/Common/itkVariableLengthVector.txx b/Utilities/ITK/Code/Common/itkVariableLengthVector.txx
index 517549d298..866c166830 100644
--- a/Utilities/ITK/Code/Common/itkVariableLengthVector.txx
+++ b/Utilities/ITK/Code/Common/itkVariableLengthVector.txx
@@ -20,6 +20,7 @@
 #include "itkVariableLengthVector.h"
 #include "itkNumericTraitsVariableLengthVectorPixel.h"
 #include "vnl/vnl_math.h"
+#include <cstring>
 
 namespace itk
 {
diff --git a/Utilities/ITK/Code/Common/itkXMLFileOutputWindow.cxx b/Utilities/ITK/Code/Common/itkXMLFileOutputWindow.cxx
index 4e8f649a3e..99805dfa72 100644
--- a/Utilities/ITK/Code/Common/itkXMLFileOutputWindow.cxx
+++ b/Utilities/ITK/Code/Common/itkXMLFileOutputWindow.cxx
@@ -20,6 +20,7 @@
 
 #include "itkXMLFileOutputWindow.h"
 #include <fstream>
+#include <string.h>
 
 namespace itk
 {
diff --git a/Utilities/ITK/Code/IO/itkBrains2HeaderBase.cxx b/Utilities/ITK/Code/IO/itkBrains2HeaderBase.cxx
index f59ef709ac..4f03090ad5 100644
--- a/Utilities/ITK/Code/IO/itkBrains2HeaderBase.cxx
+++ b/Utilities/ITK/Code/IO/itkBrains2HeaderBase.cxx
@@ -21,6 +21,7 @@
 #include "itkBrains2HeaderBase.h"
 #include "itkBrains2HeaderFactory.h"
 #include <iostream>
+#include <cstdlib>
 
 namespace itk {
 Brains2HeaderBase::Brains2HeaderBase()
diff --git a/Utilities/ITK/Code/IO/itkIOCommon.cxx b/Utilities/ITK/Code/IO/itkIOCommon.cxx
index cdbcc5e3ec..ff539262ca 100644
--- a/Utilities/ITK/Code/IO/itkIOCommon.cxx
+++ b/Utilities/ITK/Code/IO/itkIOCommon.cxx
@@ -16,7 +16,7 @@
 =========================================================================*/
 #include "itkIOCommon.h"
 #include <sys/stat.h>
-
+#include <cstring>
 
 namespace itk
 {
diff --git a/Utilities/ITK/Code/Numerics/FEM/itkFEMObjectFactory.h b/Utilities/ITK/Code/Numerics/FEM/itkFEMObjectFactory.h
index 0b9013021a..6f008060fd 100644
--- a/Utilities/ITK/Code/Numerics/FEM/itkFEMObjectFactory.h
+++ b/Utilities/ITK/Code/Numerics/FEM/itkFEMObjectFactory.h
@@ -20,6 +20,7 @@
 #include "itkFastMutexLock.h"
 #include <string>
 #include <vector>
+#include <cstdlib>
 
 namespace itk {
 namespace fem {
diff --git a/Utilities/ITK/Utilities/DICOMParser/DICOMParser.h b/Utilities/ITK/Utilities/DICOMParser/DICOMParser.h
index 68caa2b2b2..4287f0e5cc 100644
--- a/Utilities/ITK/Utilities/DICOMParser/DICOMParser.h
+++ b/Utilities/ITK/Utilities/DICOMParser/DICOMParser.h
@@ -33,6 +33,7 @@
 #include <map>
 #include <utility> 
 #include <vector>
+#include <cstring>
 
 #include "DICOMConfig.h"
 #include "DICOMFile.h"
diff --git a/Utilities/ITK/Utilities/DICOMParser/DICOMSource.h b/Utilities/ITK/Utilities/DICOMParser/DICOMSource.h
index abeccd2084..c00f46f846 100644
--- a/Utilities/ITK/Utilities/DICOMParser/DICOMSource.h
+++ b/Utilities/ITK/Utilities/DICOMParser/DICOMSource.h
@@ -29,6 +29,7 @@
 #include <iostream>
 #include <fstream>
 #include <string>
+#include <cstring>
 
 #include "DICOMTypes.h"
 #include "DICOMConfig.h"
@@ -201,8 +202,8 @@ class DICOM_EXPORT DICOMSource
   static ulong swapLong(ulong v)
     {
     return ulong((v << 24) 
-      | (v << 8) & 0x00ff0000
-      | (v >> 8) & 0x0000ff00
+      | ((v << 8) & 0x00ff0000)
+      | ((v >> 8) & 0x0000ff00)
       | (v >> 24));
     }
 
diff --git a/Utilities/ITK/Utilities/vxl/core/testlib/testlib_main.cxx b/Utilities/ITK/Utilities/vxl/core/testlib/testlib_main.cxx
index 7b0c78145e..670a6fedcd 100644
--- a/Utilities/ITK/Utilities/vxl/core/testlib/testlib_main.cxx
+++ b/Utilities/ITK/Utilities/vxl/core/testlib/testlib_main.cxx
@@ -3,6 +3,7 @@
 #include <vcl_iostream.h>
 #include <vcl_string.h>
 #include <vcl_vector.h>
+#include <vcl_cstdlib.h>
 #if VCL_HAS_EXCEPTIONS
 #include <vcl_exception.h>
 #endif
diff --git a/Utilities/dxflib/dl_writer.h b/Utilities/dxflib/dl_writer.h
index 55e372d6b7..e32c7758d3 100644
--- a/Utilities/dxflib/dl_writer.h
+++ b/Utilities/dxflib/dl_writer.h
@@ -37,6 +37,7 @@
 #endif
 
 #include <iostream>
+#include <cstring>
 
 #include "dl_attributes.h"
 #include "dl_codes.h"
diff --git a/Utilities/otbossim/include/ossim/base/ossimCplUtil.h b/Utilities/otbossim/include/ossim/base/ossimCplUtil.h
index a64b6458fa..7dbf344158 100644
--- a/Utilities/otbossim/include/ossim/base/ossimCplUtil.h
+++ b/Utilities/otbossim/include/ossim/base/ossimCplUtil.h
@@ -35,6 +35,7 @@
 #define ossimCplUtil_HEADER
 
 #include <cstdio> /* to pick up "size_t" */
+#include <cstdlib>
 #include <ossim/base/ossimConstants.h>
 
 
diff --git a/Utilities/otbossim/include/ossim/base/ossimIrect.h b/Utilities/otbossim/include/ossim/base/ossimIrect.h
index acddf1d862..5875bce433 100644
--- a/Utilities/otbossim/include/ossim/base/ossimIrect.h
+++ b/Utilities/otbossim/include/ossim/base/ossimIrect.h
@@ -16,6 +16,7 @@
 #define ossimIrect_HEADER
 #include <iosfwd>
 #include <vector>
+#include <cstdlib>
 
 #include <ossim/base/ossimIpt.h>
 #include <ossim/base/ossimCommon.h>
diff --git a/Utilities/otbossim/include/ossim/base/ossimRtti.h b/Utilities/otbossim/include/ossim/base/ossimRtti.h
index b2de458586..191727d8c6 100644
--- a/Utilities/otbossim/include/ossim/base/ossimRtti.h
+++ b/Utilities/otbossim/include/ossim/base/ossimRtti.h
@@ -115,6 +115,7 @@
 //////////////////////////////////////////////////////////////
 
 #include <cstring> // for strdup,strcmp
+#include <cstdlib>
 #include <ossim/base/ossimConstants.h>
 /////////////////////////////////////////////////////////////
 
diff --git a/Utilities/otbossim/include/ossim/base/ossimString.h b/Utilities/otbossim/include/ossim/base/ossimString.h
index c1896be7fc..78ea0e78ee 100644
--- a/Utilities/otbossim/include/ossim/base/ossimString.h
+++ b/Utilities/otbossim/include/ossim/base/ossimString.h
@@ -13,6 +13,8 @@
 #define ossimString_HEADER
 
 #include <string>
+#include <cstring>
+#include <cstdlib>
 #include <vector>
 #include <ossim/base/ossimConstants.h>
 
diff --git a/Utilities/otbossim/include/ossim/imaging/EnvisatAsar/EnvisatAsarRecord.h b/Utilities/otbossim/include/ossim/imaging/EnvisatAsar/EnvisatAsarRecord.h
index 7f34acbb44..f1ff4e5c1e 100644
--- a/Utilities/otbossim/include/ossim/imaging/EnvisatAsar/EnvisatAsarRecord.h
+++ b/Utilities/otbossim/include/ossim/imaging/EnvisatAsar/EnvisatAsarRecord.h
@@ -2,6 +2,8 @@
 #define EnvisatAsarRecord_h
 
 #include <iostream>
+#include <cstdlib>
+#include <cstring>
 #include <ossim/base/ossimCommon.h>
 /**
  * @ingroup EnvisatAsar
diff --git a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarData/ErsSarImageOptionsFileDescriptor.h b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarData/ErsSarImageOptionsFileDescriptor.h
index a34f901542..4dfc6e254b 100644
--- a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarData/ErsSarImageOptionsFileDescriptor.h
+++ b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarData/ErsSarImageOptionsFileDescriptor.h
@@ -2,6 +2,7 @@
 #define ErsSarImageOptionsFileDescriptor_h
 
 #include <iostream>
+#include <cstdlib>
 
 #include <ossim/imaging/ErsSar/ErsSarRecord.h>
 #include <ossim/imaging/ErsSar/ErsSarRecordHeader.h>
diff --git a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarDataSetSummary.h b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarDataSetSummary.h
index 6b3976d126..813d51398c 100644
--- a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarDataSetSummary.h
+++ b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarDataSetSummary.h
@@ -2,6 +2,7 @@
 #define ErsSarDataSetSummary_h
 
 #include <iostream>
+#include <cstdlib>
 #include <ossim/imaging/ErsSar/ErsSarRecordHeader.h>
 #include <ossim/imaging/ErsSar/ErsSarRecord.h>
 /**
diff --git a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFacilityData.h b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFacilityData.h
index 1d347344fe..36debb0f82 100644
--- a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFacilityData.h
+++ b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFacilityData.h
@@ -2,6 +2,7 @@
 #define ErsSarFacilityData_h
 
 #include <iostream>
+#include <cstdlib>
 #include <ossim/imaging/ErsSar/ErsSarRecordHeader.h>
 #include <ossim/imaging/ErsSar/ErsSarRecord.h>
 /**
diff --git a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFileDescriptor.h b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFileDescriptor.h
index d5a663e4a8..d0a68948c7 100644
--- a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFileDescriptor.h
+++ b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarFileDescriptor.h
@@ -3,6 +3,7 @@
 
 
 #include<iostream>
+#include <cstdlib>
 #include <ossim/imaging/ErsSar/ErsSarRecordHeader.h>
 #include <ossim/imaging/ErsSar/ErsSarRecord.h>
 /**
diff --git a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarMapProjectionData.h b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarMapProjectionData.h
index d642714988..1f039148c2 100644
--- a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarMapProjectionData.h
+++ b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarMapProjectionData.h
@@ -2,6 +2,7 @@
 #define ErsSarMapProjectionData_h
 
 #include <iostream>
+#include <cstdlib>
 #include <ossim/imaging/ErsSar/ErsSarRecordHeader.h>
 #include <ossim/imaging/ErsSar/ErsSarRecord.h>
 /**
diff --git a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarPositionVectorRecord.h b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarPositionVectorRecord.h
index a1ae411319..2b972e975e 100644
--- a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarPositionVectorRecord.h
+++ b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarLeader/ErsSarPositionVectorRecord.h
@@ -2,6 +2,7 @@
 #define ErsSarPositionVectorRecord_h
 
 #include <iostream>
+#include <cstdlib>
 #include <ossim/imaging/ErsSar/ErsSarRecord.h>
 /**
  * @ingroup PlatformPositionDataRecord
diff --git a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarRecordHeader.h b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarRecordHeader.h
index d84cd0dc44..b6042e083e 100644
--- a/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarRecordHeader.h
+++ b/Utilities/otbossim/include/ossim/imaging/ErsSar/ErsSarRecordHeader.h
@@ -2,7 +2,7 @@
 #define ErsSarRecordHeader_h
 
 #include<iostream>
-
+#include<cstring>
 
 /**
  * @ingroup ErsSar
diff --git a/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecord.h b/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecord.h
index aa4454029f..774cbb9e41 100644
--- a/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecord.h
+++ b/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecord.h
@@ -4,6 +4,8 @@
 
 #include <ossim/imaging/RadarSat/RadarSatRecordHeader.h>
 #include <iostream>
+#include <cstdlib>
+
 /**
  * @ingroup RadarSat
  * @brief This class is the base class of all the record classes
diff --git a/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecordHeader.h b/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecordHeader.h
index 9a6cec6ee9..9cca0746dd 100644
--- a/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecordHeader.h
+++ b/Utilities/otbossim/include/ossim/imaging/RadarSat/RadarSatRecordHeader.h
@@ -2,7 +2,7 @@
 #define RadarSatRecordHeader_h
 
 #include<iostream>
-
+#include<cstring>
 
 /**
  * @ingroup RadarSat
diff --git a/Utilities/otbossim/include/ossim/support_data/ossimDemUtil.h b/Utilities/otbossim/include/ossim/support_data/ossimDemUtil.h
index 02b7b40ae9..93971b1ed9 100644
--- a/Utilities/otbossim/include/ossim/support_data/ossimDemUtil.h
+++ b/Utilities/otbossim/include/ossim/support_data/ossimDemUtil.h
@@ -17,6 +17,8 @@
 #define ossimDemUtil_HEADER
 
 #include <string>
+#include <cstring>
+#include <cstdlib>
 #include <iostream>
 
 class ossimDemUtil
diff --git a/Utilities/otbossim/include/ossim/support_data/ossimNitfCommon.h b/Utilities/otbossim/include/ossim/support_data/ossimNitfCommon.h
index 5d2f381eea..8528d35ae3 100644
--- a/Utilities/otbossim/include/ossim/support_data/ossimNitfCommon.h
+++ b/Utilities/otbossim/include/ossim/support_data/ossimNitfCommon.h
@@ -13,6 +13,7 @@
 
 #include <ossim/base/ossimConstants.h>
 #include <ossim/base/ossimString.h>
+#include <ios>
 
 class ossimDpt;
 
diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfIchipbTag.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfIchipbTag.cpp
index fa410f6365..dc9309de2d 100644
--- a/Utilities/otbossim/src/ossim/support_data/ossimNitfIchipbTag.cpp
+++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfIchipbTag.cpp
@@ -14,6 +14,7 @@
 // $Id: ossimNitfIchipbTag.cpp 10177 2007-01-03 19:22:09Z gpotts $
 
 #include <cstring> /* for memcpy */
+#include <istream>
 #include <iomanip>
 
 #include <ossim/support_data/ossimNitfIchipbTag.h>
-- 
GitLab