diff --git a/Modules/IO/ImageIO/include/otbMultiImageFileWriter.h b/Modules/IO/ImageIO/include/otbMultiImageFileWriter.h
index 0d2a1fc8aff8655f6f07b0af42794fe3516b1541..5d2cf24f80ddbcf858d00becb3fbbd3489e5e9f9 100644
--- a/Modules/IO/ImageIO/include/otbMultiImageFileWriter.h
+++ b/Modules/IO/ImageIO/include/otbMultiImageFileWriter.h
@@ -26,6 +26,7 @@
 #include "itkImageBase.h"
 #include "itkProcessObject.h"
 #include "itkImageIOBase.h"
+#include "OTBImageIOExport.h"
 
 #include <boost/shared_ptr.hpp>
 
@@ -41,7 +42,7 @@ namespace otb
  *  is interpreted on the first input to deduce the number of streams. This
  *  number of streams is then used to split the other inputs.
  */
-class MultiImageFileWriter: public itk::ProcessObject
+class OTBImageIO_EXPORT MultiImageFileWriter: public itk::ProcessObject
 {
 public:
   /** Standard class typedefs. */
diff --git a/Modules/IO/ImageIO/otb-module.cmake b/Modules/IO/ImageIO/otb-module.cmake
index 552d431d5a41aba8c23ba62004eac3e60a905c80..d592ba8b086549b5a132f64f0867282e9b7a4de8 100644
--- a/Modules/IO/ImageIO/otb-module.cmake
+++ b/Modules/IO/ImageIO/otb-module.cmake
@@ -22,6 +22,7 @@ set(DOCUMENTATION "This module contains classes related to the reading and the
 writing of remote sensing images.")
 
 otb_module(OTBImageIO
+  ENABLE_SHARED
   DEPENDS
     OTBBoostAdapters
     OTBCommon