diff --git a/Code/Common/otbCommandLineArgumentParser.h b/Code/Common/otbCommandLineArgumentParser.h
index 79f62181c0d70da9f86a0d3a49024ec1712a36f5..52a1632ad697c4e6ec956bdc646161064a86b996 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 6110c84862d16c0c34932bc19e84ad742b9d9c3c..90ae03cca02f10d1bb275d11e09f63670ee78e5d 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 d8b1605bf7e7078fce7f79f48f4f0162daee07f9..d5a6922e4cdaab82064a26c4ef0d54d1204ebb1c 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 06dbc563daf0d56e066a60e0648bd8bf7b42e798..5f5de187a7edc9c63c8e5d731b518bd2b5ed104f 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 2670187d2bfbdba1bd6ef399fc99e1c933df3fb8..bb62b421da25c8ac8c3d816a7f7825002ad357b5 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 854f851025a973ae4938be98665384dc1cc74011..9b6c0937e5b122baea9849fd0811ba3f216e687c 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 e8a214147628c01d6a92cafc39001ec228521129..088e7c208210f15bc9a45f56822460802015e48a 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 1579f2dd077f4b4cb0531fd9fc6487dad65a5509..ba5f03dc8fab18bd415c3d79a52c6cbf7c64f62b 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 ec71c5abf81c5ad907aded01a7bc596a20ca965e..f2b0ab0522de7a5e827da0adb6112bd1bbec2952 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 537bd54672080001d11c8712be91387e1d26ce75..0b7419ca1e909b65c3ae6d2e0e1af86d8480bc8e 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 afff983930386630930a2c31339b02b7482c715e..5ad46a31b8a268b60683a09969fbf2d53fd0b7cf 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 21cc8aa815bf81c09a8abe433ae9a2ad9980a7c3..e7ba282821846a056b48d9ce3492d9034f01f4d3 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 b2a85328511a4925a67d63ed9e32e7fa3a68b839..250c667b262289dd4dbe4d05bb618ffaf375fa1e 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 35671414b00795e2b626f4874defcc7f201f0bb3..7225d629df97f3ac7088cd17e699a1e2131a6494 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 d7ef651d59383fd6fd029a9f84e7f8f26773e4da..6f91f5a0e8bdbc2fdef1ab455241b0a30c7ce06b 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 8bdd9b1a6998309963cbb634cc39016273588990..010a27c980333dbef4a0b9bd947608a375cdc4a6 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 64d0fed855728946f1e19168d43c33e0f45fdac6..6a4643d2958f59c2c433e92c39406271340939aa 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 155182014aaa32da36a7140cb215cb2a7d748114..076a5dcff9678b5a0290d5e571dc4bf53608aae6 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 dc9d4836b0b359ea72471bff3a77bcc9c22023b2..e58607385f4401ba090a101823c52050715336d9 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 ab95e4575c071cb0329eeab4cac0ca949aac9aeb..8dabaf2eb2e5173b8b63a0cd9e1a0c45f66b5662 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 6fb51c6e053fb7b3f3c964f11a8038f6bf584c69..1a9b1c5477c33b98d6c55a62b25531e2e6bab602 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 517549d298a65d63030f0dcf1fc9b48e8829bb3c..866c1668303149b27aa9df0f450aadfa9daf29ff 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 4e8f649a3ee0ab493a029eb9391e08f1e74e96f8..99805dfa7284f675db28894fe63a28c67b9204b7 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 f59ef709ac463758f13de0698bdfb6cc05c812a0..4f03090ad5dc5d6e02a18a84f6c68b0ff6618e5f 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 cdbcc5e3ecf70a10cd6c5cff0e948ecb7470145b..ff539262ca4e7ca31730eaa5051ea85857b3782b 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 0b9013021a0403a6626748d230e047928f443d47..6f008060fdc2019eb3873138ce4eca5a120378c9 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 68caa2b2b25abea2a51d9360dcb1fafca750f714..4287f0e5cc2d861bcaab865388b644eb941d1545 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 abeccd208411801b12e895d90f29200f40adc156..c00f46f8460c115cc7d0f976be2a0733c730e1c7 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 7b0c78145e7722b38f19e02bdd7dbae873b4508c..670a6fedcd284c4707f3ca3a655085aa22ad83a4 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 55e372d6b7d283e05d3694dbe0f4fc38ee129816..e32c7758d3ffd9ecb56bed4df35797b4567476a0 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 a64b6458fabe6dba7ad3d8f516f50e1f4bb0da0c..7dbf344158d2b2505c9ae2aab4d764ac71ce9de9 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 acddf1d862a72cd7cb8e4776590854345835fb95..5875bce4335cacec0319de0b71bbb848686dc6b6 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 b2de4585861c811198be9bb267ad51c69eb32be2..191727d8c6e74e3edc0d906d87cd32d71c4a2e2d 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 c1896be7fcefae2ea3f4c4973a60f80eb7c7362d..78ea0e78ee816a02174da9c80878bf226de33316 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 7f34acbb442bfc896a2274832c7c184f9ccb2a97..f1ff4e5c1edab8015f91a5a29c177d7699da02e4 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 a34f9015424f544a3dff2dace3ef7aa2b44352f0..4dfc6e254b5bc98a7d29ae9116b1c7c1251730ec 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 6b3976d12675f3416096139ae66f4cc27636affd..813d51398c464d3cdbebd7753083b7c60a42a53f 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 1d347344fe1f008159faadc10bfe2b669953d6ef..36debb0f8226d8943043d775ddd6b07bfb7e7934 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 d5a663e4a8a6d42af08919d7e408e7ff09893e24..d0a68948c77c40f5f5177b3a09c65a2e03b57f08 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 d6427149884ff3636dd0c236ea0046a553e72a35..1f039148c25f6e068af9e4836a7b05744a98f857 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 a1ae411319d98ffafaf7611c1dfef1aba36b0df7..2b972e975ed51b06f66784c25d3d9c3981707e8f 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 d84cd0dc44d04e3789804929cd8578b8898b97fb..b6042e083ea24265c8ead4476ae3a9e68ba9d6fd 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 aa4454029fdf994aa6bd167f5c0faa3ca37dbe2d..774cbb9e41a54e7f3a5a6d0f1a052f3292fe277f 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 9a6cec6ee90070c6d8f0b0a2e92751f91d795c15..9cca0746dd95886a82b2ddf0a65b0804106a5109 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 02b7b40ae96d53f58e606c240a14bada9da53184..93971b1ed930bf3fda7f821c85d8cc035d53d162 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 5d2f381eeab1553a92f170cdc99b375b88de2edf..8528d35ae30b363f144f1bde23bca649ca69c38e 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 fa410f6365fbd7454c2de1d63326778548853246..dc9309de2d06428811bc53250e248805bd888fff 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>