diff --git a/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h b/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h
index 074bbe6a1f8fae9606323b5af08981ab03716ce7..63b8af0a7a95dabb33795817a4a4b302d495b832 100644
--- a/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h
+++ b/Modules/Learning/Sampling/include/otbSampleAugmentationFilter.h
@@ -24,6 +24,7 @@
 #include "itkProcessObject.h"
 #include "otbOGRDataSourceWrapper.h"
 #include "otbSampleAugmentation.h"
+#include "OTBSamplingExport.h"
 
 namespace otb
 {
@@ -42,7 +43,7 @@ namespace otb
  * \ingroup OTBSampling
  */
 
-class ITK_EXPORT SampleAugmentationFilter :
+class OTBSampling_EXPORT SampleAugmentationFilter :
     public itk::ProcessObject
 {
 public:
diff --git a/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h b/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h
index e16e8a9a48447e453cf2c70e69b4c881eb1c19fb..04517fb15a736bf6ad46b372c156bcd575018515 100644
--- a/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h
+++ b/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h
@@ -24,6 +24,7 @@
 #include "itkImageRegion.h"
 #include "itkVectorContainer.h"
 #include <set>
+#include "OTBSamplingExport.h"
 
 namespace otb
 {
@@ -36,7 +37,7 @@ namespace otb
  * \ingroup OTBSampling
  */
 
-class ITK_EXPORT SamplingRateCalculator
+class OTBSampling_EXPORT SamplingRateCalculator
   : public itk::Object
 {
 public:
diff --git a/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h b/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h
index 7bc78c188d8e0be07a8da44b22547bb4a8138f15..ad9d86a54edded0d444b6a9b8463f775be5107f7 100644
--- a/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h
+++ b/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h
@@ -23,6 +23,7 @@
 
 #include "otbSamplingRateCalculator.h"
 #include "otbObjectList.h"
+#include "OTBSamplingExport.h"
 
 namespace otb
 {
@@ -37,7 +38,7 @@ namespace otb
  *
  * \ingroup OTBSampling
  */
-class ITK_EXPORT SamplingRateCalculatorList
+class OTBSampling_EXPORT SamplingRateCalculatorList
   : public ObjectList<SamplingRateCalculator>
 {
 public:
diff --git a/Modules/Learning/Sampling/otb-module.cmake b/Modules/Learning/Sampling/otb-module.cmake
index 4eb65c39829be9317c80589eac55b93f934db40e..2b8ca50f8a4579e401b3d83fb04212f1a63b3cc0 100644
--- a/Modules/Learning/Sampling/otb-module.cmake
+++ b/Modules/Learning/Sampling/otb-module.cmake
@@ -21,6 +21,7 @@
 set(DOCUMENTATION "This module contains OTB sampling framework.")
 
 otb_module(OTBSampling
+  ENABLE_SHARED
   DEPENDS
     OTBCommon
     OTBConversion