From fc9230786347e6b5ec009a6f5d7d447424ce3bcd Mon Sep 17 00:00:00 2001
From: Victor Poughon <victor.poughon@cnes.fr>
Date: Wed, 18 Jul 2018 15:02:35 +0200
Subject: [PATCH] COMP: add missing string includes

Before this commit, many files are using std::string without including
<string>. It can work accidentally but causes issues when refactoring,
especially if using operator <<() which is included implicitly by some
compilers.

To find guilty header files, I used:

    grep -l "^ *std::string" $(grep -L "#include <string>" $(find . -type f -name "*.h"))

which finds all files containing "std::string" at the beginning of a line
(usually a member or variable declaration), but not "#include <string>".
And then this script to add the includes (plus some manual ediing):

    #!/usr/bin/env python3

    import re
    import argparse

    def fix_file(filename, header):

        with open(filename, "r") as f:
            content = f.read()

        matches = list(re.finditer(r"(#include .*\n)\n", content))
        if len(matches) == 0:
            print("no include!")
            sys.exit(-1)

        pos = matches[-1].end(1)
        open(filename, "w").write(content[:pos] + "#include <{}>\n".format(header) + content[pos:])

    if __name__ == "__main__":
        parser = argparse.ArgumentParser()
        parser.add_argument('--header', type=str, required=True)
        parser.add_argument('files', type=str, nargs='+')
        args = parser.parse_args()

        for filename in args.files:
            fix_file(filename, args.header)
---
 Modules/Adapters/CurlAdapters/include/otbCurlHelper.h           | 1 +
 Modules/Adapters/GdalAdapters/include/otbOGRLayerWrapper.h      | 1 +
 Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h          | 1 +
 .../AppClassification/include/otbLearningApplicationBase.h      | 1 +
 .../Applications/AppClassification/include/otbTrainImagesBase.h | 1 +
 .../Applications/AppClassification/include/otbTrainVectorBase.h | 1 +
 .../include/otbTrainDimensionalityReductionApplicationBase.h    | 1 +
 Modules/Core/Common/include/otbExtendedFilenameHelper.h         | 1 +
 Modules/Core/ImageBase/include/otbRemoteSensingRegion.h         | 1 +
 Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h     | 1 +
 .../LabelMap/include/otbStatisticsAttributesLabelMapFilter.h    | 1 +
 .../Core/Metadata/include/otbFormosatImageMetadataInterface.h   | 1 +
 .../Core/Metadata/include/otbPleiadesImageMetadataInterface.h   | 1 +
 Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h  | 1 +
 Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h   | 1 +
 Modules/Core/Transform/include/otbGenericMapProjection.h        | 1 +
 Modules/Core/Transform/include/otbGenericRSTransform.h          | 1 +
 .../Transform/include/otbImageToGenericRSOutputParameters.h     | 1 +
 Modules/Core/VectorDataBase/include/otbDataNode.h               | 1 +
 .../VectorDataBase/include/otbGISConnectionImplementation.h     | 1 +
 .../VectorDataBase/include/otbPolyLineParametricPathWithValue.h | 1 +
 Modules/Core/VectorDataBase/include/otbVectorDataKeywordlist.h  | 1 +
 .../include/otbLabeledSampleLocalizationGenerator.h             | 1 +
 .../ObjectDetection/include/otbObjectDetectionClassifier.h      | 1 +
 .../RoadExtraction/include/otbLikelihoodPathListFilter.h        | 1 +
 Modules/Filtering/DEM/include/otbDEMToImageGenerator.h          | 1 +
 Modules/Filtering/MathParser/include/otbBandMathImageFilter.h   | 1 +
 Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h   | 1 +
 Modules/Filtering/MathParser/include/otbOBIAMuParserFunctor.h   | 1 +
 .../include/otbParserConditionDataNodeFeatureFunction.h         | 1 +
 Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h | 1 +
 .../Projection/include/otbGenericRSResampleImageFilter.h        | 1 +
 .../Projection/include/otbGeometriesProjectionFilter.h          | 1 +
 .../Projection/include/otbImageToEnvelopeVectorDataFilter.h     | 1 +
 .../Projection/include/otbVectorDataProjectionFilter.h          | 1 +
 Modules/Filtering/Statistics/include/otbListSampleGenerator.h   | 1 +
 Modules/Filtering/Statistics/include/otbPatternSampler.h        | 1 +
 .../include/otbVectorDataToRandomLineGenerator.h                | 1 +
 .../VectorDataRendering/include/otbVectorDataToMapFilter.h      | 1 +
 Modules/IO/Carto/include/otbCoordinateToName.h                  | 1 +
 Modules/IO/Carto/include/otbMapFileProductWriter.h              | 1 +
 Modules/IO/Carto/include/otbPlaceNameToLonLat.h                 | 1 +
 Modules/IO/Carto/include/otbWorldFile.h                         | 1 +
 .../include/otbExtendedFilenameToReaderOptions.h                | 1 +
 .../include/otbExtendedFilenameToWriterOptions.h                | 1 +
 Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h             | 1 +
 Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h           | 1 +
 Modules/IO/ImageIO/include/otbImageFileReader.h                 | 1 +
 Modules/IO/ImageIO/include/otbImageFileWriter.h                 | 1 +
 Modules/IO/KMZWriter/include/otbKmzProductWriter.h              | 1 +
 Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h       | 1 +
 Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h       | 1 +
 .../Learning/DempsterShafer/include/otbStandardDSCostFunction.h | 1 +
 .../include/otbVectorDataToDSValidatedVectorDataFilter.h        | 1 +
 .../include/otbAutoencoderModel.h                               | 1 +
 .../Learning/Sampling/include/otbImageSampleExtractorFilter.h   | 1 +
 .../Sampling/include/otbOGRDataToClassStatisticsFilter.h        | 1 +
 .../Sampling/include/otbOGRDataToSamplePositionFilter.h         | 1 +
 .../Learning/Sampling/include/otbPersistentSamplingFilterBase.h | 1 +
 Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h | 1 +
 Modules/Learning/Unsupervised/include/otbContingencyTable.h     | 1 +
 Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h | 1 +
 Modules/MPI/MPIVrtWriter/include/otbMPIVrtWriter.h              | 1 +
 Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h              | 1 +
 Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h              | 1 +
 Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h   | 1 +
 Modules/Radiometry/Indices/include/otbLandsatTMIndices.h        | 1 +
 Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h      | 1 +
 .../Radiometry/Indices/include/otbVegetationIndicesFunctor.h    | 1 +
 Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h     | 1 +
 .../include/otbLandsatTMSpectralRuleBasedClassifier.h           | 1 +
 Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h  | 1 +
 .../include/otbAtmosphericCorrectionParameters.h                | 1 +
 .../include/otbImageMetadataCorrectionParameters.h              | 1 +
 .../OpticalCalibration/include/otbSpectralSensitivityReader.h   | 1 +
 .../Radiometry/Simulation/include/otbImageSimulationMethod.h    | 1 +
 .../Simulation/include/otbLabelMapToSimulatedImageFilter.h      | 1 +
 Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h  | 1 +
 .../CCOBIA/include/otbConnectedComponentMuParserFunctor.h       | 1 +
 ...eamingConnectedComponentSegmentationOBIAToVectorDataFilter.h | 1 +
 .../Conversion/include/otbLabelImageToOGRDataSourceFilter.h     | 1 +
 .../Conversion/include/otbLabelImageToVectorDataFilter.h        | 1 +
 .../Conversion/include/otbOGRDataSourceToLabelImageFilter.h     | 1 +
 .../Conversion/include/otbPersistentImageToVectorDataFilter.h   | 1 +
 .../Conversion/include/otbVectorDataToLabelImageFilter.h        | 1 +
 .../include/otbMeanShiftConnectedComponentSegmentationFilter.h  | 1 +
 .../MeanShift/include/otbMeanShiftSegmentationFilter.h          | 1 +
 Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h  | 1 +
 .../include/otbStreamingImageToOGRLayerSegmentationFilter.h     | 1 +
 .../OssimPlugins/include/ossim/ossimKeyWordListUtilities.h      | 1 +
 .../src/ossim/AlosPalsar/AlosPalsarDataSetSummary.h             | 1 +
 .../OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFacilityData.h  | 1 +
 .../src/ossim/AlosPalsar/AlosPalsarFileDescriptor.h             | 1 +
 .../src/ossim/AlosPalsar/AlosPalsarMapProjectionData.h          | 1 +
 .../src/ossim/AlosPalsar/AlosPalsarPlatformPositionData.h       | 1 +
 .../OssimPlugins/src/ossim/AlosPalsar/AlosPalsarRecord.h        | 1 +
 .../src/ossim/EnvisatAsar/AntennaElevationPatterns.h            | 1 +
 .../OssimPlugins/src/ossim/EnvisatAsar/ChirpParameters.h        | 1 +
 .../src/ossim/EnvisatAsar/DopplerCentroidParameters.h           | 1 +
 .../OssimPlugins/src/ossim/EnvisatAsar/EnvisatAsarRecord.h      | 1 +
 .../OssimPlugins/src/ossim/EnvisatAsar/GeolocationGrid.h        | 1 +
 .../src/ossim/EnvisatAsar/MainProcessingParameters.h            | 1 +
 Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/SQ_ADSR.h | 1 +
 Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/dsd.h     | 1 +
 Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/mph.h     | 1 +
 Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/sph.h     | 1 +
 .../src/ossim/RadarSat/CommonRecord/BeamInformationRecord.h     | 1 +
 .../src/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.h      | 1 +
 .../src/ossim/RadarSat/CommonRecord/CompensationDataRecord.h    | 1 +
 .../src/ossim/RadarSat/CommonRecord/DataHistogramRecord.h       | 1 +
 .../OssimPlugins/src/ossim/RadarSat/CommonRecord/DataQuality.h  | 1 +
 .../src/ossim/RadarSat/CommonRecord/DataSetSummary.h            | 1 +
 .../src/ossim/RadarSat/CommonRecord/FileDescriptor.h            | 1 +
 .../src/ossim/RadarSat/CommonRecord/ProcessingParameters.h      | 1 +
 .../src/ossim/RadarSat/CommonRecord/RadiometricData.h           | 1 +
 .../src/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.h  | 1 +
 .../src/ossim/RadarSat/Data/ImageOptionsFileDescriptor.h        | 1 +
 .../src/ossim/RadarSat/Leader/PlatformPositionData.h            | 1 +
 .../ThirdParty/OssimPlugins/src/ossim/RadarSat/RadarSatRecord.h | 1 +
 .../src/ossim/RadarSat/VolumeDir/FilePointerRecord.h            | 1 +
 .../OssimPlugins/src/ossim/RadarSat/VolumeDir/TextRecord.h      | 1 +
 .../src/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h       | 1 +
 .../OssimPlugins/src/ossim/erssar/ErsSarDataSetSummary.h        | 1 +
 .../OssimPlugins/src/ossim/erssar/ErsSarFacilityData.h          | 1 +
 .../OssimPlugins/src/ossim/erssar/ErsSarFileDescriptor.h        | 1 +
 .../OssimPlugins/src/ossim/erssar/ErsSarMapProjectionData.h     | 1 +
 .../OssimPlugins/src/ossim/erssar/ErsSarPlatformPositionData.h  | 1 +
 Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarRecord.h | 1 +
 Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1Model.h | 1 +
 .../OssimPlugins/src/ossim/ossimSentinel1SarSensorModel.h       | 1 +
 .../OssimPlugins/src/ossim/ossimTerraSarXSarSensorModel.h       | 1 +
 Modules/Visualization/Ice/include/otbGlActor.h                  | 1 +
 Modules/Visualization/Ice/include/otbGlImageActor.h             | 1 +
 Modules/Visualization/Ice/include/otbGlROIActor.h               | 1 +
 Modules/Visualization/Ice/include/otbGlVectorActor.h            | 1 +
 Modules/Visualization/Ice/include/otbGlView.h                   | 1 +
 Modules/Visualization/Ice/include/otbNonOptGlImageActor.h       | 1 +
 Modules/Visualization/Ice/include/otbStandardShader.h           | 1 +
 Modules/Visualization/Ice/include/otbViewSettings.h             | 1 +
 Modules/Visualization/IceViewer/include/otbIceViewer.h          | 1 +
 .../MonteverdiCore/include/mvdAbstractLayerModel.h              | 1 +
 .../MonteverdiCore/include/mvdApplicationsBrowser.h             | 2 ++
 Modules/Visualization/MonteverdiCore/include/mvdTypes.h         | 1 +
 .../Visualization/MonteverdiCore/include/mvdVectorImageModel.h  | 1 +
 .../include/otbWrapperAddProcessToWatchEvent.h                  | 1 +
 .../ApplicationEngine/include/otbWrapperApplicationFactory.h    | 1 +
 .../ApplicationEngine/include/otbWrapperBoolParameter.h         | 1 +
 .../ApplicationEngine/include/otbWrapperChoiceParameter.h       | 1 +
 .../include/otbWrapperComplexInputImageParameter.h              | 1 +
 .../include/otbWrapperComplexOutputImageParameter.h             | 1 +
 .../ApplicationEngine/include/otbWrapperCompositeApplication.h  | 1 +
 .../ApplicationEngine/include/otbWrapperInputImageParameter.h   | 1 +
 .../include/otbWrapperInputProcessXMLParameter.h                | 1 +
 .../include/otbWrapperInputVectorDataParameter.h                | 1 +
 .../ApplicationEngine/include/otbWrapperListViewParameter.h     | 1 +
 .../ApplicationEngine/include/otbWrapperOutputImageParameter.h  | 1 +
 .../include/otbWrapperOutputProcessXMLParameter.h               | 1 +
 .../include/otbWrapperOutputVectorDataParameter.h               | 1 +
 .../Wrappers/ApplicationEngine/include/otbWrapperParameter.h    | 1 +
 .../ApplicationEngine/include/otbWrapperParameterGroup.h        | 1 +
 .../CommandLine/include/otbWrapperCommandLineLauncher.h         | 1 +
 .../Wrappers/CommandLine/include/otbWrapperCommandLineParser.h  | 1 +
 Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h    | 1 +
 Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h  | 1 +
 .../include/otbWrapperQtWidgetComplexOutputImageParameter.h     | 1 +
 .../QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h   | 1 +
 .../include/otbWrapperQtWidgetOutputVectorDataParameter.h       | 1 +
 .../QtWidget/include/otbWrapperQtWidgetProgressReport.h         | 1 +
 .../QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h   | 1 +
 Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h      | 1 +
 170 files changed, 171 insertions(+)

diff --git a/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h b/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h
index 15691fb6bf..0012cd0321 100644
--- a/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h
+++ b/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h
@@ -22,6 +22,7 @@
 #define otbCurlHelper_h
 
 #include "otbCurlHelperInterface.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Adapters/GdalAdapters/include/otbOGRLayerWrapper.h b/Modules/Adapters/GdalAdapters/include/otbOGRLayerWrapper.h
index eab6c14a67..880832a3da 100644
--- a/Modules/Adapters/GdalAdapters/include/otbOGRLayerWrapper.h
+++ b/Modules/Adapters/GdalAdapters/include/otbOGRLayerWrapper.h
@@ -37,6 +37,7 @@
 // #include "itkIndent.h", included from field
 #include "otbOGRFeatureWrapper.h"
 #include "otbOGRVersionProxy.h"
+#include <string>
 
 // #include "ogr_core.h" // OGRwkbGeometryType, included from feature -> field
 // Forward declarations
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h b/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h
index 691a6bb2c4..7f804a6b3e 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h
@@ -29,6 +29,7 @@
 #include "itkPoint.h"
 
 #include "OTBOSSIMAdaptersExport.h"
+#include <string>
 
 class ossimElevManager;
 
diff --git a/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h b/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
index 70004e96e5..bdad273d83 100644
--- a/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
+++ b/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
@@ -32,6 +32,7 @@
 
 //Estimator
 #include "otbMachineLearningModelFactory.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Applications/AppClassification/include/otbTrainImagesBase.h b/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
index 594983e175..08e924bc69 100644
--- a/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
+++ b/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
@@ -28,6 +28,7 @@
 #include "otbImageToEnvelopeVectorDataFilter.h"
 #include "otbSamplingRateCalculator.h"
 #include "otbOGRDataToSamplePositionFilter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Applications/AppClassification/include/otbTrainVectorBase.h b/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
index 2327462210..ce6d04f397 100644
--- a/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
+++ b/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
@@ -36,6 +36,7 @@
 
 #include <algorithm>
 #include <locale>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h b/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h
index 59f2d0172b..da91402fda 100644
--- a/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h
+++ b/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h
@@ -136,6 +136,7 @@ private:
 #ifndef OTB_MANUAL_INSTANTIATION
 #include "otbTrainDimensionalityReductionApplicationBase.hxx"
 #include "otbDimensionalityReductionTrainSOM.hxx"
+#include <string>
 
 #ifdef OTB_USE_SHARK
 #include "otbDimensionalityReductionTrainAutoencoder.hxx"
diff --git a/Modules/Core/Common/include/otbExtendedFilenameHelper.h b/Modules/Core/Common/include/otbExtendedFilenameHelper.h
index c72b46abe4..983f101eeb 100644
--- a/Modules/Core/Common/include/otbExtendedFilenameHelper.h
+++ b/Modules/Core/Common/include/otbExtendedFilenameHelper.h
@@ -27,6 +27,7 @@
 #include "itkObject.h"
 #include "itkObjectFactory.h"
 #include "OTBCommonExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h b/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h
index bbd7205c56..20d0649f20 100644
--- a/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h
+++ b/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h
@@ -27,6 +27,7 @@
 
 #include "otbImageKeywordlist.h"
 #include "itkImageRegion.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h b/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h
index 13ab795ee8..ac322d6981 100644
--- a/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h
+++ b/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h
@@ -32,6 +32,7 @@
 
 #include "otbPolygon.h"
 #include <map>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h
index af8eec1e03..40759827b1 100644
--- a/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h
@@ -25,6 +25,7 @@
 #include "otbLabelMapFeaturesFunctorImageFilter.h"
 #include "itkMatrix.h"
 #include "itkVector.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h b/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h
index 967c0121d7..6e41de52c1 100644
--- a/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h
@@ -22,6 +22,7 @@
 #define otbFormosatImageMetadataInterface_h
 
 #include "otbOpticalImageMetadataInterface.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h b/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h
index 2f1d1f0184..ab6492d43a 100644
--- a/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h
@@ -22,6 +22,7 @@
 #define otbPleiadesImageMetadataInterface_h
 
 #include "otbOpticalImageMetadataInterface.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h b/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h
index a8d6820750..c51ca91bdb 100644
--- a/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h
@@ -22,6 +22,7 @@
 #define otbSpot6ImageMetadataInterface_h
 
 #include "otbOpticalImageMetadataInterface.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h b/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h
index 03e9114865..dc9cf94e53 100644
--- a/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h
@@ -22,6 +22,7 @@
 #define otbSpotImageMetadataInterface_h
 
 #include "otbOpticalImageMetadataInterface.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/Transform/include/otbGenericMapProjection.h b/Modules/Core/Transform/include/otbGenericMapProjection.h
index b77143a7ab..5812ef952d 100644
--- a/Modules/Core/Transform/include/otbGenericMapProjection.h
+++ b/Modules/Core/Transform/include/otbGenericMapProjection.h
@@ -26,6 +26,7 @@
 #include "otbTransform.h"
 #include "itkMacro.h"
 #include "otbMapProjectionAdapter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/Transform/include/otbGenericRSTransform.h b/Modules/Core/Transform/include/otbGenericRSTransform.h
index e18309fac3..9aded6fb3b 100644
--- a/Modules/Core/Transform/include/otbGenericRSTransform.h
+++ b/Modules/Core/Transform/include/otbGenericRSTransform.h
@@ -22,6 +22,7 @@
 #define otbGenericRSTransform_h
 
 #include "otbCompositeTransform.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h b/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h
index b8e1b0f536..67f4eb9eac 100644
--- a/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h
+++ b/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h
@@ -23,6 +23,7 @@
 
 #include "itkObject.h"
 #include "otbGenericRSTransform.h"
+#include <string>
 
 namespace otb {
 
diff --git a/Modules/Core/VectorDataBase/include/otbDataNode.h b/Modules/Core/VectorDataBase/include/otbDataNode.h
index e9a0a8c6d4..8d25d4429c 100644
--- a/Modules/Core/VectorDataBase/include/otbDataNode.h
+++ b/Modules/Core/VectorDataBase/include/otbDataNode.h
@@ -28,6 +28,7 @@
 
 
 #include "ogrsf_frmts.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h b/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h
index 0b1fc07613..675362a2cc 100644
--- a/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h
+++ b/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h
@@ -23,6 +23,7 @@
 
 #include "itkDataObject.h"
 #include "itkObjectFactory.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h b/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h
index 330335a6fc..8a806b91f3 100644
--- a/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h
+++ b/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h
@@ -33,6 +33,7 @@
 #include "itkMetaDataObject.h"
 #include "otbRemoteSensingRegion.h"
 #include "otbMacro.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Core/VectorDataBase/include/otbVectorDataKeywordlist.h b/Modules/Core/VectorDataBase/include/otbVectorDataKeywordlist.h
index e93cbed6f5..8260b58956 100644
--- a/Modules/Core/VectorDataBase/include/otbVectorDataKeywordlist.h
+++ b/Modules/Core/VectorDataBase/include/otbVectorDataKeywordlist.h
@@ -23,6 +23,7 @@
 
 #include <iosfwd>
 #include <vector>
+#include <string>
 
 #include "itkLightObject.h"
 #include "itkObjectFactory.h"
diff --git a/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h b/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h
index ea8045afcf..35e2308ed9 100644
--- a/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h
+++ b/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h
@@ -26,6 +26,7 @@
 #include "itkPreOrderTreeIterator.h"
 #include "itkMersenneTwisterRandomVariateGenerator.h"
 #include "itkEuclideanDistanceMetric.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h b/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h
index e9038a93f4..c39e49ba9c 100644
--- a/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h
+++ b/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h
@@ -22,6 +22,7 @@
 #define otbObjectDetectionClassifier_h
 
 #include <vector>
+#include <string>
 
 #include "itkImageRegion.h"
 #include "itkFixedArray.h"
diff --git a/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h b/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h
index 771313b24d..e3a7353243 100644
--- a/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h
@@ -23,6 +23,7 @@
 
 #include "otbPathListToPathListFilter.h"
 #include "otbMacro.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h b/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h
index 8aecc1c11c..8589eb056e 100644
--- a/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h
+++ b/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h
@@ -22,6 +22,7 @@
 #define otbDEMToImageGenerator_h
 
 #include <stdio.h>
+#include <string>
 
 #include "itkImageSource.h"
 #include "otbImage.h"
diff --git a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
index 570c69b89c..6f6e91172a 100644
--- a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
+++ b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
@@ -28,6 +28,7 @@
 #include "itkArray.h"
 
 #include "otbParser.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h b/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h
index 53af2d4e6b..e39fa7628c 100644
--- a/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h
+++ b/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h
@@ -26,6 +26,7 @@
 #include "otbParser.h"
 #include "otbMacro.h"
 #include "otbBinarySpectralAngleFunctor.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/MathParser/include/otbOBIAMuParserFunctor.h b/Modules/Filtering/MathParser/include/otbOBIAMuParserFunctor.h
index c299255021..8ca98d57ba 100644
--- a/Modules/Filtering/MathParser/include/otbOBIAMuParserFunctor.h
+++ b/Modules/Filtering/MathParser/include/otbOBIAMuParserFunctor.h
@@ -25,6 +25,7 @@
 
 #include "otbParser.h"
 #include "otbMacro.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h b/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h
index 6f246ab623..388ea23135 100644
--- a/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h
+++ b/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h
@@ -24,6 +24,7 @@
 #include "otbDataNodeImageFunction.h"
 #include "otbPolyLineImageConstIterator.h"
 #include "otbMaskMuParserFunctor.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h b/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h
index a167750575..3f45a61cd5 100644
--- a/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h
+++ b/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h
@@ -31,6 +31,7 @@
 #include "otbParserX.h"
 
 #include <vector>
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h b/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h
index 79527bd439..02b280b5b3 100644
--- a/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h
+++ b/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h
@@ -23,6 +23,7 @@
 
 #include "otbStreamingResampleImageFilter.h"
 #include "otbPhysicalToRPCSensorModelImageFilter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h b/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h
index 61c6391437..cdbf9ff084 100644
--- a/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h
+++ b/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h
@@ -28,6 +28,7 @@
 #include "otbGenericRSTransform.h"
 
 #include "OTBProjectionExport.h"
+#include <string>
 
 class OGRCoordinateTransformation;
 
diff --git a/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h b/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h
index 8096b4410d..461d2cdd9d 100644
--- a/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h
+++ b/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h
@@ -23,6 +23,7 @@
 
 #include "otbVectorDataSource.h"
 #include "otbGenericRSTransform.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h b/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h
index 3594ee5f3e..907a8ec335 100644
--- a/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h
+++ b/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h
@@ -24,6 +24,7 @@
 #include "otbVectorDataToVectorDataFilter.h"
 #include "otbGenericRSTransform.h"
 #include "otbImageKeywordlist.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
index bb3d0355dc..d8536a5649 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
@@ -26,6 +26,7 @@
 #include "itkListSample.h"
 #include "itkPreOrderTreeIterator.h"
 #include "itkMersenneTwisterRandomVariateGenerator.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/Statistics/include/otbPatternSampler.h b/Modules/Filtering/Statistics/include/otbPatternSampler.h
index 90432a595b..8719becedf 100644
--- a/Modules/Filtering/Statistics/include/otbPatternSampler.h
+++ b/Modules/Filtering/Statistics/include/otbPatternSampler.h
@@ -22,6 +22,7 @@
 #define otbPatternSampler_h
 
 #include "otbSamplerBase.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h
index ec346bbbc5..4279fc4b59 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h
@@ -25,6 +25,7 @@
 #include "otbVectorData.h"
 #include "itkPreOrderTreeIterator.h"
 #include "itkMersenneTwisterRandomVariateGenerator.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Filtering/VectorDataRendering/include/otbVectorDataToMapFilter.h b/Modules/Filtering/VectorDataRendering/include/otbVectorDataToMapFilter.h
index e2633ffecd..4bc29e139f 100644
--- a/Modules/Filtering/VectorDataRendering/include/otbVectorDataToMapFilter.h
+++ b/Modules/Filtering/VectorDataRendering/include/otbVectorDataToMapFilter.h
@@ -25,6 +25,7 @@
 #include "itkImageSource.h"
 #include "otbRGBAPixelConverter.h"
 #include "otbVectorDataExtractROI.h"
+#include <string>
 
 #if defined(__GNUC__) || defined(__clang__)
 #pragma GCC diagnostic push
diff --git a/Modules/IO/Carto/include/otbCoordinateToName.h b/Modules/IO/Carto/include/otbCoordinateToName.h
index 563c545da6..7ddd5155f1 100644
--- a/Modules/IO/Carto/include/otbCoordinateToName.h
+++ b/Modules/IO/Carto/include/otbCoordinateToName.h
@@ -25,6 +25,7 @@
 #include "itkMultiThreader.h"
 #include "otbCurlHelperInterface.h"
 #include "OTBCartoExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/Carto/include/otbMapFileProductWriter.h b/Modules/IO/Carto/include/otbMapFileProductWriter.h
index 3aa4c2c3a1..5b5bbdff9c 100644
--- a/Modules/IO/Carto/include/otbMapFileProductWriter.h
+++ b/Modules/IO/Carto/include/otbMapFileProductWriter.h
@@ -37,6 +37,7 @@
 
 // projection filter
 #include "otbGenericRSResampleImageFilter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/Carto/include/otbPlaceNameToLonLat.h b/Modules/IO/Carto/include/otbPlaceNameToLonLat.h
index 59385a46dd..c9c40db02f 100644
--- a/Modules/IO/Carto/include/otbPlaceNameToLonLat.h
+++ b/Modules/IO/Carto/include/otbPlaceNameToLonLat.h
@@ -23,6 +23,7 @@
 
 #include "otbCurlHelperInterface.h"
 #include "OTBCartoExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/Carto/include/otbWorldFile.h b/Modules/IO/Carto/include/otbWorldFile.h
index 043ce98aa6..41ffaef2ae 100644
--- a/Modules/IO/Carto/include/otbWorldFile.h
+++ b/Modules/IO/Carto/include/otbWorldFile.h
@@ -26,6 +26,7 @@
 #include "itkObject.h"
 #include "itkObjectFactory.h"
 #include "OTBCartoExport.h"
+#include <string>
 
 namespace otb {
 
diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h
index e791869599..6753c31479 100644
--- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h
+++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h
@@ -22,6 +22,7 @@
 #define otbExtendedFilenameToReaderOptions_h
 
 #include "otbExtendedFilenameHelper.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h
index c9a84ac7d3..90107cc3c8 100644
--- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h
+++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h
@@ -23,6 +23,7 @@
 
 #include "otbExtendedFilenameHelper.h"
 #include "otbGDALImageIO.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h b/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h
index 59a6a82680..4fbd5cdfd6 100644
--- a/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h
+++ b/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h
@@ -30,6 +30,7 @@
 #include "otbConfigure.h"
 
 #include "OTBIOGDALExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h b/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h
index dc518668fa..00af733c72 100644
--- a/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h
+++ b/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h
@@ -22,6 +22,7 @@
 #define otbStatisticsXMLFileReader_h
 
 #include "itkProcessObject.h"
+#include <string>
 
 namespace otb {
 
diff --git a/Modules/IO/ImageIO/include/otbImageFileReader.h b/Modules/IO/ImageIO/include/otbImageFileReader.h
index b3414c0895..92b98e099e 100644
--- a/Modules/IO/ImageIO/include/otbImageFileReader.h
+++ b/Modules/IO/ImageIO/include/otbImageFileReader.h
@@ -36,6 +36,7 @@
 #include "otbDefaultConvertPixelTraits.h"
 #include "otbImageKeywordlist.h"
 #include "otbExtendedFilenameToReaderOptions.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/ImageIO/include/otbImageFileWriter.h b/Modules/IO/ImageIO/include/otbImageFileWriter.h
index 2828234eda..f59c57075f 100644
--- a/Modules/IO/ImageIO/include/otbImageFileWriter.h
+++ b/Modules/IO/ImageIO/include/otbImageFileWriter.h
@@ -26,6 +26,7 @@
 #include "otbStreamingManager.h"
 #include "otbExtendedFilenameToWriterOptions.h"
 #include "itkFastMutexLock.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/KMZWriter/include/otbKmzProductWriter.h b/Modules/IO/KMZWriter/include/otbKmzProductWriter.h
index b17efac4d4..d1a2d451f2 100644
--- a/Modules/IO/KMZWriter/include/otbKmzProductWriter.h
+++ b/Modules/IO/KMZWriter/include/otbKmzProductWriter.h
@@ -39,6 +39,7 @@
 // Possibility to includes vectordatas necessary includes
 #include "otbVectorData.h"
 #include "otbVectorDataFileWriter.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h b/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h
index 3538352e03..275c6cfbd2 100644
--- a/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h
+++ b/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h
@@ -23,6 +23,7 @@
 
 #include "otbVectorDataSource.h"
 #include "otbVectorDataIOBase.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h b/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h
index 157c941c5f..4650ba39c1 100644
--- a/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h
+++ b/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h
@@ -24,6 +24,7 @@
 #include "itkProcessObject.h"
 #include "itkMacro.h"
 #include "otbVectorDataIOBase.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h b/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h
index 5e0e6464f5..b1e748a4a1 100644
--- a/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h
+++ b/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h
@@ -24,6 +24,7 @@
 #include "itkSingleValuedCostFunction.h"
 
 #include "otbVectorDataToDSValidatedVectorDataFilter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h b/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h
index b72d4b0dda..0da83eefac 100644
--- a/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h
+++ b/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h
@@ -32,6 +32,7 @@
 #include "otbFuzzyVariable.h"
 #include "otbJointMassOfBeliefFilter.h"
 #include "otbParser.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
index 1413a5e6e0..793abaed88 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
@@ -22,6 +22,7 @@
 
 #include "otbMachineLearningModelTraits.h"
 #include "otbMachineLearningModel.h"
+#include <string>
 
 #if defined(__GNUC__) || defined(__clang__)
 #pragma GCC diagnostic push
diff --git a/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h b/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h
index 36d5f63804..446d39daf8 100644
--- a/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h
+++ b/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h
@@ -25,6 +25,7 @@
 #include "otbPersistentFilterStreamingDecorator.h"
 #include "otbOGRDataSourceWrapper.h"
 #include "otbImage.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h b/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h
index 0bed151c83..e41ada6d97 100644
--- a/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h
+++ b/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h
@@ -24,6 +24,7 @@
 #include "otbPersistentSamplingFilterBase.h"
 #include "otbPersistentFilterStreamingDecorator.h"
 #include "itkSimpleDataObjectDecorator.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h b/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h
index d04721d372..c870b7ccd6 100644
--- a/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h
+++ b/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h
@@ -26,6 +26,7 @@
 #include "otbSamplingRateCalculator.h"
 #include "otbPeriodicSampler.h"
 #include "otbImage.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h b/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h
index 3789fb816a..3b802b1db3 100644
--- a/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h
+++ b/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h
@@ -24,6 +24,7 @@
 #include "otbPersistentImageFilter.h"
 #include "otbOGRDataSourceWrapper.h"
 #include "otbImage.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h b/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h
index 3aca743816..7e4f6770a9 100644
--- a/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h
+++ b/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h
@@ -25,6 +25,7 @@
 #include "otbOGRDataSourceWrapper.h"
 #include "otbSampleAugmentation.h"
 #include "OTBSamplingExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Learning/Unsupervised/include/otbContingencyTable.h b/Modules/Learning/Unsupervised/include/otbContingencyTable.h
index 6e36c1944a..3deb2bc2eb 100644
--- a/Modules/Learning/Unsupervised/include/otbContingencyTable.h
+++ b/Modules/Learning/Unsupervised/include/otbContingencyTable.h
@@ -26,6 +26,7 @@
 #include <itkObject.h>
 #include <itkObjectFactory.h>
 #include <itkVariableSizeMatrix.h>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
index d3cbdf13b3..d68643c8b8 100644
--- a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
+++ b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
@@ -59,6 +59,7 @@
 // SPTW
 #include <algorithm>
 #include <vector>
+#include <string>
 
 #if defined(__GNUC__) || defined(__clang__)
 # pragma GCC diagnostic push
diff --git a/Modules/MPI/MPIVrtWriter/include/otbMPIVrtWriter.h b/Modules/MPI/MPIVrtWriter/include/otbMPIVrtWriter.h
index f0411e4be0..c6126e924f 100644
--- a/Modules/MPI/MPIVrtWriter/include/otbMPIVrtWriter.h
+++ b/Modules/MPI/MPIVrtWriter/include/otbMPIVrtWriter.h
@@ -27,6 +27,7 @@
 #include "otbNumberOfDivisionsTiledStreamingManager.h"
 #include <vector>
 #include <sstream>
+#include <string>
 
 #include <itksys/SystemTools.hxx>
 
diff --git a/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h b/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h
index dca598e5db..53c74bd4f1 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h
@@ -23,6 +23,7 @@
 
 #include "otbRCC8GraphSource.h"
 #include "itkMacro.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h b/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h
index a3f27a55c7..1c63310264 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h
@@ -24,6 +24,7 @@
 #include "itkProcessObject.h"
 #include "itkMacro.h"
 #include "otbRCC8Graph.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h
index 6b8ca2c517..43a29d88c3 100644
--- a/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h
@@ -22,6 +22,7 @@
 #define otbBuiltUpIndicesFunctor_h
 
 #include "otbVegetationIndicesFunctor.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h b/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h
index a94a63f162..c9f54a7fa0 100644
--- a/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h
+++ b/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h
@@ -27,6 +27,7 @@
 #include "otbFuzzyVariable.h"
 #include <vector>
 #include <algorithm>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h
index 264ad063f1..32f123ac97 100644
--- a/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h
@@ -24,6 +24,7 @@
 #include "otbMath.h"
 #include "itkVariableLengthVector.h"
 #include "otbBandName.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h
index ab264c0dfc..c19dd5272d 100644
--- a/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h
@@ -24,6 +24,7 @@
 #include "otbMath.h"
 #include "itkVariableLengthVector.h"
 #include "otbBandName.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h
index feb14fc3c9..f950e1fc4d 100644
--- a/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h
@@ -25,6 +25,7 @@
 #include "itkVariableLengthVector.h"
 #include "otbSqrtSpectralAngleFunctor.h"
 #include "otbBandName.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h b/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h
index f3bc345849..7d97b89b14 100644
--- a/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h
+++ b/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h
@@ -22,6 +22,7 @@
 #define otbLandsatTMSRBC_h
 
 #include "otbLandsatTMIndices.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h b/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h
index 20adbd6e39..71c8ba11dd 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h
@@ -25,6 +25,7 @@
 #include "itkObjectFactory.h"
 #include "itkMacro.h"
 #include "OTBOpticalCalibrationExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h b/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h
index fc67ae0e24..8cd9e3b0fe 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h
@@ -28,6 +28,7 @@
 #include "otbObjectList.h"
 #include "otbFilterFunctionValues.h"
 #include <vector>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h b/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h
index 1a07deabf1..ff1ff2acc1 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h
@@ -28,6 +28,7 @@
 #include "otbObjectList.h"
 #include "otbFilterFunctionValues.h"
 #include <vector>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h b/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h
index 5b298a8c2e..7e755bda65 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h
@@ -26,6 +26,7 @@
 #include "otbObjectList.h"
 #include "otbFilterFunctionValues.h"
 #include "OTBOpticalCalibrationExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h b/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
index b1bbfde9a0..36b3e2b675 100644
--- a/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
+++ b/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
@@ -36,6 +36,7 @@
 #include "itkResampleImageFilter.h"
 #include "otbProlateInterpolateImageFunction.h"
 #include "itkLabelMapToLabelImageFilter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h b/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h
index 01716e4a71..9262d2c229 100644
--- a/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h
+++ b/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h
@@ -28,6 +28,7 @@
 #include "otbReduceSpectralResponse.h"
 #include "otbGaussianAdditiveNoiseSampleListFilter.h"
 #include "otbSatelliteRSR.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h b/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h
index 643350c2ef..819810aaf7 100644
--- a/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h
+++ b/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h
@@ -29,6 +29,7 @@
 #include "otbImage.h"
 #include "itkImageRegionSplitter.h"
 #include "otbObjectList.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Segmentation/CCOBIA/include/otbConnectedComponentMuParserFunctor.h b/Modules/Segmentation/CCOBIA/include/otbConnectedComponentMuParserFunctor.h
index d871f98870..f8a736594a 100644
--- a/Modules/Segmentation/CCOBIA/include/otbConnectedComponentMuParserFunctor.h
+++ b/Modules/Segmentation/CCOBIA/include/otbConnectedComponentMuParserFunctor.h
@@ -30,6 +30,7 @@
 #include <vnl/algo/vnl_lsqr.h>
 #include <vnl/vnl_sparse_matrix_linear_system.h>
 #include <vnl/vnl_least_squares_function.h>
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h b/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h
index fe78b20de9..f979d1d0f7 100644
--- a/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h
+++ b/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h
@@ -34,6 +34,7 @@
 #include "otbShapeAttributesLabelMapFilter.h"
 #include "otbLabelObjectOpeningMuParserFilter.h"
 #include "otbLabelMapToVectorDataFilter.h"
+#include <string>
 
 namespace otb {
 
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
index 805f091d74..8de58630e4 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
@@ -23,6 +23,7 @@
 
 #include "itkProcessObject.h"
 #include "otbOGRDataSourceWrapper.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h
index f58ea8951f..5e9ff349f5 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h
@@ -24,6 +24,7 @@
 #include "otbVectorDataSource.h"
 #include "otbVectorData.h"
 #include "otbOGRDataSourceWrapper.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h b/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h
index 1f60b2d453..6f086648d7 100644
--- a/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h
@@ -28,6 +28,7 @@
 #include "gdal.h"
 #include "gdal_alg.h"
 #include "otbOGRDataSourceWrapper.h"
+#include <string>
 
 namespace otb {
 
diff --git a/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h b/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h
index 288f2fd242..8bbbf3783e 100644
--- a/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h
@@ -28,6 +28,7 @@
 #include "otbConcatenateVectorDataFilter.h"
 #include "otbOGRVectorDataIO.h"
 #include "itkMacro.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h
index cede7a2f5a..63c7d85cc8 100644
--- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h
@@ -30,6 +30,7 @@
 #include "gdal.h"
 #include "ogr_api.h"
 #include "otbOGRVersionProxy.h"
+#include <string>
 
 namespace otb {
 
diff --git a/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h b/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h
index b4bb5dae13..1e85d9c7c8 100644
--- a/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h
+++ b/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h
@@ -29,6 +29,7 @@
 #include "itkRelabelComponentImageFilter.h"
 
 #include "otbMeanShiftSmoothingImageFilter.h"
+#include <string>
 
 namespace otb {
 
diff --git a/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h b/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
index 99d7ab975a..d67452592e 100644
--- a/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
+++ b/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
@@ -28,6 +28,7 @@
 #include "otbLabelImageRegionPruningFilter.h"
 #include "itkRelabelComponentImageFilter.h"
 #include "itkConnectedComponentFunctorImageFilter.h"
+#include <string>
 
 
 namespace otb {
diff --git a/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h b/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h
index 5edef4f6d7..6b20297baa 100644
--- a/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h
+++ b/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h
@@ -26,6 +26,7 @@
 #include "itkInPlaceLabelMapFilter.h"
 #include "itkVariableSizeMatrix.h"
 #include "itkVariableLengthVector.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h b/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h
index 4ca6087be8..2dd4619c0d 100644
--- a/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h
+++ b/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h
@@ -31,6 +31,7 @@
 #include "otbLabeledOutputAccessor.h"
 
 #include "otbMeanShiftSmoothingImageFilter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/ThirdParty/OssimPlugins/include/ossim/ossimKeyWordListUtilities.h b/Modules/ThirdParty/OssimPlugins/include/ossim/ossimKeyWordListUtilities.h
index fb665c4fbc..bfd6b57d5d 100644
--- a/Modules/ThirdParty/OssimPlugins/include/ossim/ossimKeyWordListUtilities.h
+++ b/Modules/ThirdParty/OssimPlugins/include/ossim/ossimKeyWordListUtilities.h
@@ -32,6 +32,7 @@
 #include <ossim/base/ossimRefPtr.h>
 #include <ossim/base/ossimXmlNode.h>
 #include <stdexcept>
+#include <string>
 
 namespace ossimplugins {
    class kw_runtime_error : public std::runtime_error {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarDataSetSummary.h b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarDataSetSummary.h
index 33adaaa6f4..2dd671e460 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarDataSetSummary.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarDataSetSummary.h
@@ -30,6 +30,7 @@
 #include <cstdlib>
 #include <AlosPalsar/AlosPalsarRecordHeader.h>
 #include <AlosPalsar/AlosPalsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFacilityData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFacilityData.h
index 317c87074e..e10a4886d2 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFacilityData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFacilityData.h
@@ -30,6 +30,7 @@
 #include <cstdlib>
 #include <AlosPalsar/AlosPalsarRecordHeader.h>
 #include <AlosPalsar/AlosPalsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFileDescriptor.h b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFileDescriptor.h
index 9aa1a587bf..4457f7eb5d 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFileDescriptor.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarFileDescriptor.h
@@ -33,6 +33,7 @@
 #include <cstdlib>
 #include <AlosPalsar/AlosPalsarRecordHeader.h>
 #include <AlosPalsar/AlosPalsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarMapProjectionData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarMapProjectionData.h
index a8770a7352..d350c79767 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarMapProjectionData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarMapProjectionData.h
@@ -30,6 +30,7 @@
 #include <cstdlib>
 #include <AlosPalsar/AlosPalsarRecordHeader.h>
 #include <AlosPalsar/AlosPalsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarPlatformPositionData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarPlatformPositionData.h
index 90f0b30461..70b6e76fe6 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarPlatformPositionData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarPlatformPositionData.h
@@ -32,6 +32,7 @@
 #include <AlosPalsar/AlosPalsarRecordHeader.h>
 
 #include <AlosPalsar/AlosPalsarPositionVectorRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarRecord.h
index 655e64002f..3413989159 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/AlosPalsar/AlosPalsarRecord.h
@@ -29,6 +29,7 @@
 
 
 #include <AlosPalsar/AlosPalsarRecordHeader.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/AntennaElevationPatterns.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/AntennaElevationPatterns.h
index dc306395a3..78de5b5144 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/AntennaElevationPatterns.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/AntennaElevationPatterns.h
@@ -27,6 +27,7 @@
 #define AntennaElevationPatterns_h
 
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/ChirpParameters.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/ChirpParameters.h
index 37d377d591..fe45477259 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/ChirpParameters.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/ChirpParameters.h
@@ -27,6 +27,7 @@
 #define ChirpParameters_h
 
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/DopplerCentroidParameters.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/DopplerCentroidParameters.h
index ebea708147..c285925255 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/DopplerCentroidParameters.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/DopplerCentroidParameters.h
@@ -27,6 +27,7 @@
 #define DopplerCentroidParameters_h
 
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/EnvisatAsarRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/EnvisatAsarRecord.h
index b51db6f421..70dc938735 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/EnvisatAsarRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/EnvisatAsarRecord.h
@@ -29,6 +29,7 @@
 #include <cstdlib>
 #include <cstring>
 #include <ossim/base/ossimCommon.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/GeolocationGrid.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/GeolocationGrid.h
index 1be332beb9..b68796e784 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/GeolocationGrid.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/GeolocationGrid.h
@@ -27,6 +27,7 @@
 #define GeolocationGrid_h
 
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/MainProcessingParameters.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/MainProcessingParameters.h
index b22148e7ee..47c8c530df 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/MainProcessingParameters.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/MainProcessingParameters.h
@@ -28,6 +28,7 @@
 
 #include <sstream>
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/SQ_ADSR.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/SQ_ADSR.h
index 6e0c57b7f0..07f6de17fd 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/SQ_ADSR.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/SQ_ADSR.h
@@ -27,6 +27,7 @@
 #define SQ_ADSR_h
 
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/dsd.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/dsd.h
index a12a91f0bd..3d180bd6c8 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/dsd.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/dsd.h
@@ -27,6 +27,7 @@
 #define dsd_h
 
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/mph.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/mph.h
index 054e072070..ca68f3ca08 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/mph.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/mph.h
@@ -27,6 +27,7 @@
 #define mph_h
 
 #include <EnvisatAsar/EnvisatAsarRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/sph.h b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/sph.h
index 0f74b5e4e7..548306c8cc 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/sph.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/EnvisatAsar/sph.h
@@ -30,6 +30,7 @@
 #include <EnvisatAsar/EnvisatAsarRecord.h>
 #include <EnvisatAsar/mph.h>
 #include <EnvisatAsar/dsd.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamInformationRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamInformationRecord.h
index 9a565723f1..191aa1faf8 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamInformationRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamInformationRecord.h
@@ -28,6 +28,7 @@
 
 
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.h
index 3ebcc982d2..bd1a229395 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/BeamPixelCountRecord.h
@@ -28,6 +28,7 @@
 
 
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/CompensationDataRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/CompensationDataRecord.h
index cedc87f78e..00e74e538b 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/CompensationDataRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/CompensationDataRecord.h
@@ -29,6 +29,7 @@
 
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataHistogramRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataHistogramRecord.h
index edb3b30a56..3c153b65c7 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataHistogramRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataHistogramRecord.h
@@ -30,6 +30,7 @@
 
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataQuality.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataQuality.h
index 27bf7dc0b1..04429438bd 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataQuality.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataQuality.h
@@ -32,6 +32,7 @@
 
 #include "RadiometryUncertaintyRecord.h"
 #include "MisregistrationRecord.h"
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataSetSummary.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataSetSummary.h
index 912c9e37a6..eac3a7c234 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataSetSummary.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/DataSetSummary.h
@@ -28,6 +28,7 @@
 
 #include <RadarSat/RadarSatRecordHeader.h>
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/FileDescriptor.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/FileDescriptor.h
index 202c38eac0..4f24149d96 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/FileDescriptor.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/FileDescriptor.h
@@ -30,6 +30,7 @@
 #include<iostream>
 #include <RadarSat/RadarSatRecordHeader.h>
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/ProcessingParameters.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/ProcessingParameters.h
index cf083bc800..db0017ddf1 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/ProcessingParameters.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/ProcessingParameters.h
@@ -34,6 +34,7 @@
 #include "BeamPixelCountRecord.h"
 #include "SRGRCoefficientSetRecord.h"
 #include "TemperatureSettingsRecord.h"
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/RadiometricData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/RadiometricData.h
index 7a1907c3b5..50d103523b 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/RadiometricData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/RadiometricData.h
@@ -28,6 +28,7 @@
 
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.h
index 1b0fbbf17b..6e3d86686c 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/CommonRecord/SRGRCoefficientSetRecord.h
@@ -27,6 +27,7 @@
 #define SRGRCoefficientSetRecord_h
 
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Data/ImageOptionsFileDescriptor.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Data/ImageOptionsFileDescriptor.h
index 7817964e1b..c0de022341 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Data/ImageOptionsFileDescriptor.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Data/ImageOptionsFileDescriptor.h
@@ -29,6 +29,7 @@
 
 #include <RadarSat/RadarSatRecord.h>
 #include <RadarSat/RadarSatRecordHeader.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Leader/PlatformPositionData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Leader/PlatformPositionData.h
index 98fa179e9d..a36c8a43a8 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Leader/PlatformPositionData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/Leader/PlatformPositionData.h
@@ -30,6 +30,7 @@
 #include <RadarSat/RadarSatRecordHeader.h>
 
 #include <RadarSat/Leader/PositionVectorRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/RadarSatRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/RadarSatRecord.h
index 6aaa5788a4..d1ed5d88f5 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/RadarSatRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/RadarSatRecord.h
@@ -29,6 +29,7 @@
 
 #include <RadarSat/RadarSatRecordHeader.h>
 #include <cstdlib>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/FilePointerRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/FilePointerRecord.h
index c292cd5f10..3dbddaa5be 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/FilePointerRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/FilePointerRecord.h
@@ -30,6 +30,7 @@
 #include<iostream>
 #include <RadarSat/RadarSatRecordHeader.h>
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/TextRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/TextRecord.h
index 286112071c..f44b1eb642 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/TextRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/TextRecord.h
@@ -30,6 +30,7 @@
 #include<iostream>
 #include <RadarSat/RadarSatRecordHeader.h>
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h
index 872b1121f0..7e410b7565 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/RadarSat/VolumeDir/VolumeDescriptorRecord.h
@@ -30,6 +30,7 @@
 #include<iostream>
 #include <RadarSat/RadarSatRecordHeader.h>
 #include <RadarSat/RadarSatRecord.h>
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarDataSetSummary.h b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarDataSetSummary.h
index e4c5158fdd..4611b40634 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarDataSetSummary.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarDataSetSummary.h
@@ -29,6 +29,7 @@
 #include <cstdlib>
 #include "erssar/ErsSarRecordHeader.h"
 #include "erssar/ErsSarRecord.h"
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFacilityData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFacilityData.h
index e754e40c43..7b515dc9e7 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFacilityData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFacilityData.h
@@ -29,6 +29,7 @@
 #include <cstdlib>
 #include "erssar/ErsSarRecordHeader.h"
 #include "erssar/ErsSarRecord.h"
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFileDescriptor.h b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFileDescriptor.h
index d7461f8135..2a5b8e2412 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFileDescriptor.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarFileDescriptor.h
@@ -31,6 +31,7 @@
 #include <cstdlib>
 #include "erssar/ErsSarRecordHeader.h"
 #include "erssar/ErsSarRecord.h"
+#include <string>
 
 
 namespace ossimplugins
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarMapProjectionData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarMapProjectionData.h
index 2fd82623ee..1dac9d7f36 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarMapProjectionData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarMapProjectionData.h
@@ -29,6 +29,7 @@
 #include <cstdlib>
 #include "erssar/ErsSarRecordHeader.h"
 #include "erssar/ErsSarRecord.h"
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarPlatformPositionData.h b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarPlatformPositionData.h
index 3f11b1cf88..6eefbf27d0 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarPlatformPositionData.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarPlatformPositionData.h
@@ -30,6 +30,7 @@
 #include "erssar/ErsSarRecordHeader.h"
 
 #include "erssar/ErsSarPositionVectorRecord.h"
+#include <string>
 
 
 namespace ossimplugins
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarRecord.h b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarRecord.h
index 05fd7da86d..e0a4807417 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarRecord.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/erssar/ErsSarRecord.h
@@ -28,6 +28,7 @@
 
 
 #include "erssar/ErsSarRecordHeader.h"
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1Model.h b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1Model.h
index 50816ef1ba..7b5d04e5e4 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1Model.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1Model.h
@@ -27,6 +27,7 @@
 #define ossimSentinel1Model_HEADER
 
 #include <iosfwd>
+#include <string>
 #include <boost/config.hpp>
 
 #include <ossim/base/ossimCommon.h>
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1SarSensorModel.h b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1SarSensorModel.h
index a3bc211de7..c9ceccbc9c 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1SarSensorModel.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimSentinel1SarSensorModel.h
@@ -28,6 +28,7 @@
 
 #include <boost/config.hpp>
 #include "ossim/ossimSarSensorModel.h"
+#include <string>
 
 class ossimXmlDocument;
 class ossimString;
diff --git a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimTerraSarXSarSensorModel.h b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimTerraSarXSarSensorModel.h
index f2bdf759c3..6cc558820c 100644
--- a/Modules/ThirdParty/OssimPlugins/src/ossim/ossimTerraSarXSarSensorModel.h
+++ b/Modules/ThirdParty/OssimPlugins/src/ossim/ossimTerraSarXSarSensorModel.h
@@ -27,6 +27,7 @@
 #define ossimTerraSarXSarSensorModel_HEADER
 
 #include "ossim/ossimSarSensorModel.h"
+#include <string>
 
 namespace ossimplugins
 {
diff --git a/Modules/Visualization/Ice/include/otbGlActor.h b/Modules/Visualization/Ice/include/otbGlActor.h
index d11a4ef3c1..44815986bc 100644
--- a/Modules/Visualization/Ice/include/otbGlActor.h
+++ b/Modules/Visualization/Ice/include/otbGlActor.h
@@ -25,6 +25,7 @@
 
 #include "otbViewSettings.h"
 #include "OTBIceExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Visualization/Ice/include/otbGlImageActor.h b/Modules/Visualization/Ice/include/otbGlImageActor.h
index 8311e1d6e6..715466a2ec 100644
--- a/Modules/Visualization/Ice/include/otbGlImageActor.h
+++ b/Modules/Visualization/Ice/include/otbGlImageActor.h
@@ -35,6 +35,7 @@
 #include "otbMultiChannelExtractROI.h"
 #include "otbVectorRescaleIntensityImageFilter.h"
 #include "otbVectorImage.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Visualization/Ice/include/otbGlROIActor.h b/Modules/Visualization/Ice/include/otbGlROIActor.h
index 907b424afc..cee09404fb 100644
--- a/Modules/Visualization/Ice/include/otbGlROIActor.h
+++ b/Modules/Visualization/Ice/include/otbGlROIActor.h
@@ -28,6 +28,7 @@
 #include "otbImageKeywordlist.h"
 #include "itkImageRegion.h"
 #include "itkVector.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Visualization/Ice/include/otbGlVectorActor.h b/Modules/Visualization/Ice/include/otbGlVectorActor.h
index 7c40b41ef9..1b7d6c7134 100644
--- a/Modules/Visualization/Ice/include/otbGlVectorActor.h
+++ b/Modules/Visualization/Ice/include/otbGlVectorActor.h
@@ -31,6 +31,7 @@
 
 #include "itkCenteredRigid2DTransform.h"
 #include "itkVector.h"
+#include <string>
 
 
 // Forward declaration of GLUtesselator
diff --git a/Modules/Visualization/Ice/include/otbGlView.h b/Modules/Visualization/Ice/include/otbGlView.h
index 2bc15b2202..6fdcd3d173 100644
--- a/Modules/Visualization/Ice/include/otbGlView.h
+++ b/Modules/Visualization/Ice/include/otbGlView.h
@@ -29,6 +29,7 @@
 #include <map>
 #include <vector>
 #include <cassert>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h b/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h
index 5e0d65388d..92f368469c 100644
--- a/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h
+++ b/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h
@@ -28,6 +28,7 @@
 #include "otbGenericRSTransform.h"
 
 #include "otbGlActor.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Visualization/Ice/include/otbStandardShader.h b/Modules/Visualization/Ice/include/otbStandardShader.h
index 1553f39bd1..97a49f939a 100644
--- a/Modules/Visualization/Ice/include/otbStandardShader.h
+++ b/Modules/Visualization/Ice/include/otbStandardShader.h
@@ -24,6 +24,7 @@
 #include <itkObjectFactory.h>
 #include "otbFragmentShader.h"
 #include "otbImageSettings.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Visualization/Ice/include/otbViewSettings.h b/Modules/Visualization/Ice/include/otbViewSettings.h
index a29ea74d02..931fef7aaf 100644
--- a/Modules/Visualization/Ice/include/otbViewSettings.h
+++ b/Modules/Visualization/Ice/include/otbViewSettings.h
@@ -29,6 +29,7 @@
 
 #include "otbImageKeywordlist.h"
 #include "OTBIceExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Visualization/IceViewer/include/otbIceViewer.h b/Modules/Visualization/IceViewer/include/otbIceViewer.h
index 75539f0979..f32ee67747 100644
--- a/Modules/Visualization/IceViewer/include/otbIceViewer.h
+++ b/Modules/Visualization/IceViewer/include/otbIceViewer.h
@@ -39,6 +39,7 @@
 #include "otbStandardShader.h"
 #include <GL/freeglut.h>
 #include  "OTBIceViewerExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h
index 4b36467a80..b5734cf751 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h
@@ -51,6 +51,7 @@
 #include "mvdAbstractModel.h"
 #include "mvdTypes.h"
 #include "mvdVisibleInterface.h"
+#include <string>
 
 /*****************************************************************************/
 /* PRE-DECLARATION SECTION                                                   */
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h b/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h
index 53b899f2c6..f414c3b20c 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h
@@ -50,6 +50,8 @@
 // Monteverdi includes (sorted by alphabetic order)
 #include "mvdTypes.h"
 
+#include <string>
+
 /*****************************************************************************/
 /* PRE-DECLARATION SECTION                                                   */
 
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdTypes.h b/Modules/Visualization/MonteverdiCore/include/mvdTypes.h
index 91a9dd2e46..e2349aac0c 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdTypes.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdTypes.h
@@ -40,6 +40,7 @@
 //
 // System includes (sorted by alphabetic order)
 #include <exception>
+#include <string>
 
 //
 // ITK includes (sorted by alphabetic order)
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h
index dadcf25f22..2e6f173fce 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h
@@ -38,6 +38,7 @@
 
 //
 // System includes (sorted by alphabetic order)
+#include <string>
 
 //
 // ITK includes (sorted by alphabetic order)
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h
index 9dec89465c..9201f6b0fd 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h
@@ -24,6 +24,7 @@
 #include "itkEventObject.h"
 #include "itkProcessObject.h"
 #include "OTBApplicationEngineExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h
index fbbee11b24..790d0b8061 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h
@@ -23,6 +23,7 @@
 
 #include "otbWrapperApplicationFactoryBase.h"
 #include "itkVersion.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperBoolParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperBoolParameter.h
index b2a26670de..28ac6bf668 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperBoolParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperBoolParameter.h
@@ -23,6 +23,7 @@
 
 #include "otbWrapperParameter.h"
 #include "OTBApplicationEngineExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h
index 93099da0eb..2a60f2f140 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h
@@ -22,6 +22,7 @@
 #define otbWrapperChoiceParameter_h
 
 #include "otbWrapperParameterGroup.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h
index e98fe963ac..4e57714ba2 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h
@@ -24,6 +24,7 @@
 #include "otbImageFileReader.h"
 #include "itkImageBase.h"
 #include "otbWrapperParameter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h
index 05eb949a62..9e635d0e65 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h
@@ -24,6 +24,7 @@
 #include "itkImageBase.h"
 #include "otbWrapperParameter.h"
 #include "otbImageFileWriter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h
index d478999eec..de642ed21a 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h
@@ -23,6 +23,7 @@
 
 #include "otbWrapperApplication.h"
 #include "itkStdStreamLogOutput.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
index 19b88d40ce..825061b56a 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
@@ -24,6 +24,7 @@
 #include "otbImageFileReader.h"
 #include "itkImageBase.h"
 #include "otbWrapperParameter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h
index b16eacea2f..c3dad299ec 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h
@@ -23,6 +23,7 @@
 #include "otbWrapperApplication.h"
 #include "otb_tinyxml.h"
 #include <sstream>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h
index 73d2d795fd..71858dfab0 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h
@@ -23,6 +23,7 @@
 
 #include "otbVectorDataFileReader.h"
 #include "otbWrapperParameter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h
index 5508d39c35..96dfe6bb14 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h
@@ -22,6 +22,7 @@
 #define otbWrapperListViewParameter_h
 
 #include "otbWrapperParameterGroup.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h
index e7a4babf30..5bef6a16c3 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h
@@ -25,6 +25,7 @@
 #include "itkImageBase.h"
 #include "otbWrapperParameter.h"
 #include "otbImageFileWriter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h
index f0db1726fd..a185cd3535 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h
@@ -22,6 +22,7 @@
 #define otbWrapperOutputProcessXMLParameter_h
 #include "otbWrapperApplication.h"
 #include "otb_tinyxml.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h
index 1987cd1606..da659ee83d 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h
@@ -25,6 +25,7 @@
 
 #include "otbVectorData.h"
 #include "otbVectorDataFileWriter.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h
index a4a82c6ac3..7884daf08f 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h
@@ -26,6 +26,7 @@
 
 #include "otbWrapperTypes.h"
 #include "OTBApplicationEngineExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h
index a4af999cb1..a2ae466cef 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h
@@ -24,6 +24,7 @@
 #include "itkObject.h"
 #include "otbWrapperParameter.h"
 #include <vector>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h
index 2fa272e717..a8532930c3 100644
--- a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h
+++ b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h
@@ -34,6 +34,7 @@
 #include "itkCommand.h"
 
 #include <vector>
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h
index 98d15d1284..ee50d179c9 100644
--- a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h
+++ b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h
@@ -22,6 +22,7 @@
 #define otbWrapperCommandLineParser_h
 
 #include "itkObjectFactory.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h b/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h
index 57476851b9..cdd1237001 100644
--- a/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h
+++ b/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h
@@ -27,6 +27,7 @@
 #include "otbWrapperQtWidgetParameterBase.h"
 
 #include "OTBQtWidgetExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h b/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h
index a431dae987..ba798ea93a 100644
--- a/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h
+++ b/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h
@@ -25,6 +25,7 @@
 #include "otbWrapperStringListParameter.h"
 #include "otbWrapperQtWidgetParameterBase.h"
 #include "OTBQtWidgetExport.h"
+#include <string>
 
 namespace otb
 {
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h
index 1815fa101b..09a19accb8 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h
@@ -24,6 +24,7 @@
 #include <QtWidgets>
 #include "otbWrapperComplexOutputImageParameter.h"
 #include "otbWrapperQtWidgetParameterBase.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h
index fcd5b80dd8..22d08f84dd 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h
@@ -24,6 +24,7 @@
 #include <QtWidgets>
 #include "otbWrapperOutputImageParameter.h"
 #include "otbWrapperQtWidgetParameterBase.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h
index d9612dbbbd..9ac60f6190 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h
@@ -24,6 +24,7 @@
 #include <QtWidgets>
 #include "otbWrapperOutputVectorDataParameter.h"
 #include "otbWrapperQtWidgetParameterBase.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h
index 78698b1a08..7b8326a2c1 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h
@@ -25,6 +25,7 @@
 #include "otbWrapperQtWidgetModel.h"
 #include "itkQtProgressBar.h"
 #include "itkProcessObject.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h
index ca48775287..c7175bc8d3 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h
@@ -25,6 +25,7 @@
 #include "otbWrapperQtWidgetModel.h"
 #include "itkProcessObject.h"
 #include "itkQtProgressBar.h"
+#include <string>
 
 
 namespace otb
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h
index 46b8dda419..1ab94adbb4 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h
@@ -25,6 +25,7 @@
 #include "otbWrapperApplication.h"
 #include "otbWrapperQtWidgetModel.h"
 #include "OTBQtWidgetExport.h"
+#include <string>
 
 namespace otb
 {
-- 
GitLab