diff --git a/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h b/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h
index e4145bea2486a9a68b93f7260b6180df75cc2a89..33c81ef6a8981a5428758032bf8c758cfa796402 100644
--- a/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h
+++ b/Modules/Core/VectorDataBase/include/otbGISConnectionImplementation.h
@@ -69,7 +69,7 @@ public:
 
   virtual void ConnectToDB(){}
 
-  virtual void PerformTransaction(const TransactorType& theTransaction) const {}
+  virtual void PerformTransaction(const TransactorType& itkNotUsed(theTransaction)) const {}
 
 protected:
   /** Constructor */
diff --git a/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h
index 1c205000babf75ece3361b59632365486b7e11ce..a4866f222cdb4ca64c80bf8286bba85467245de8 100644
--- a/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h
@@ -55,7 +55,7 @@ public:
     m_ScalarValue = p;
   }
 
-  bool operator !=(const ConcatenateScalarValueFunctor& other) const
+  bool operator !=(const ConcatenateScalarValueFunctor& itkNotUsed(other)) const
   {
     return false;
   }
diff --git a/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h b/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h
index d022c8adedeecfb93ffb9f28a3d94aa66b32d31d..feaa3e60afe56849d7cdcdbcda07160798500c0d 100644
--- a/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h
+++ b/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h
@@ -60,7 +60,7 @@ public:
     m_OutputSize = m_ProjectionDirection.Size();
   }
 
-  bool operator !=(const ProjectiveProjectionFunctor& other) const
+  bool operator !=(const ProjectiveProjectionFunctor& itkNotUsed(other)) const
   {
     return false;
   }
diff --git a/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.txx b/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.txx
index 4b1bb48a1cb172578263af6d454c24bac1d4cbbd..a8e71af5ccf32605cbeeaa63551adc5d6c8c5ffc 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.txx
+++ b/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.txx
@@ -52,7 +52,7 @@ ISRAUnmixingFunctor<TInput, TOutput, TPrecision>
 template <class TInput, class TOutput, class TPrecision>
 bool
 ISRAUnmixingFunctor<TInput, TOutput, TPrecision>
-::operator != (const Self& other) const
+::operator != (const Self& itkNotUsed(other)) const
 {
   return true;
 }
@@ -60,7 +60,7 @@ ISRAUnmixingFunctor<TInput, TOutput, TPrecision>
 template <class TInput, class TOutput, class TPrecision>
 bool
 ISRAUnmixingFunctor<TInput, TOutput, TPrecision>
-::operator == (const Self& other) const
+::operator == (const Self& itkNotUsed(other)) const
 {
   return false;
 }
diff --git a/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.txx b/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.txx
index 719e33826844945f77565d3c003691c82d4cd3f4..7c7a2019147d69201dcef01f5b3811c7ad71b3cb 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.txx
+++ b/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.txx
@@ -52,7 +52,7 @@ NCLSUnmixingFunctor<TInput, TOutput, TPrecision>
 template <class TInput, class TOutput, class TPrecision>
 bool
 NCLSUnmixingFunctor<TInput, TOutput, TPrecision>
-::operator != (const Self& other) const
+::operator != (const Self& itkNotUsed(other)) const
 {
   return true;
 }
@@ -60,7 +60,7 @@ NCLSUnmixingFunctor<TInput, TOutput, TPrecision>
 template <class TInput, class TOutput, class TPrecision>
 bool
 NCLSUnmixingFunctor<TInput, TOutput, TPrecision>
-::operator == (const Self& other) const
+::operator == (const Self& itkNotUsed(other)) const
 {
   return false;
 }
diff --git a/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h b/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h
index 74c678e4b109c8931078f61690714c38df1f0a66..4a869df0037c44de2f401e989f74fd42157ac63a 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h
+++ b/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h
@@ -54,7 +54,7 @@ public:
     return m_OutputSize;
   }
 
-  bool operator != (const UnConstrainedLeastSquareFunctor& other) const
+  bool operator != (const UnConstrainedLeastSquareFunctor& itkNotUsed(other)) const
   {
     return true;
   }
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
index 75089a2e311d97b571d3344acb7c5b69b8d8ba1e..75bee26c6fc5304dd562c76224c136c3a76ad1b4 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
@@ -110,7 +110,7 @@ protected:
   /** TestBandSelection
    * Tests the coherency of the Meta File (especifically band selection) with the image types
    */
-  virtual void TestBandSelection(std::vector<unsigned int>& bands) {}
+  virtual void TestBandSelection(std::vector<unsigned int>& itkNotUsed(bands)) {}
 
   /** GenerateData
    * This method will be specialised if template definitions follow:
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx
index 51ad2f02f9ced9ef74f23316fdf339806cd89b78..0bafea5e66ea865e0479e0cad576cdf0fe9c246b 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.txx
@@ -47,7 +47,7 @@ ImageSeriesFileReader<TImage, TInternalImage>
 template <class TImage, class TInternalImage>
 void
 ImageSeriesFileReader<TImage, TInternalImage>
-::GenerateData(DataObjectPointerArraySizeType idx)
+::GenerateData(DataObjectPointerArraySizeType itkNotUsed(idx))
 {
   std::ostringstream msg;
   msg << "Something wrong... Check the template definition of this class in the program...\n";
diff --git a/Modules/Learning/SVMLearning/include/otbSVMModel.txx b/Modules/Learning/SVMLearning/include/otbSVMModel.txx
index a527b2eca7656efd37b52ec66e7d39937cb23dd8..d7a59f3b8e891c3e3b1f05696949e130a9254606 100644
--- a/Modules/Learning/SVMLearning/include/otbSVMModel.txx
+++ b/Modules/Learning/SVMLearning/include/otbSVMModel.txx
@@ -622,7 +622,7 @@ SVMModel<TValue, TLabel>::SetSupportVectors(svm_node ** sv, int nbOfSupportVecto
 
 template <class TValue, class TLabel>
 void
-SVMModel<TValue, TLabel>::SetAlpha(double ** alpha, int nbOfSupportVector)
+SVMModel<TValue, TLabel>::SetAlpha(double ** alpha, int itkNotUsed(nbOfSupportVector))
 {
   if (!m_Model)
     {