diff --git a/framework/base/media/AVAFPacket.h b/framework/base/media/AVAFPacket.h
index 62a98853c..175c70412 100644
--- a/framework/base/media/AVAFPacket.h
+++ b/framework/base/media/AVAFPacket.h
@@ -55,7 +55,7 @@ class AVAFPacket : public IAFPacket {
};
-class AVAFFrame : public IAFFrame {
+class CICADA_CPLUS_EXTERN AVAFFrame : public IAFFrame {
public:
explicit AVAFFrame(AVFrame *frame, FrameType type = FrameTypeUnknown);
diff --git a/framework/codec/ActiveDecoder.h b/framework/codec/ActiveDecoder.h
index 7f27ed656..571a98fb8 100644
--- a/framework/codec/ActiveDecoder.h
+++ b/framework/codec/ActiveDecoder.h
@@ -18,7 +18,7 @@
#include
#include
-class ActiveDecoder : public Cicada::IDecoder {
+class CICADA_CPLUS_EXTERN ActiveDecoder : public Cicada::IDecoder {
public:
ActiveDecoder();
diff --git a/framework/codec/codecPrototype.h b/framework/codec/codecPrototype.h
index e9d075c18..50e9601e9 100644
--- a/framework/codec/codecPrototype.h
+++ b/framework/codec/codecPrototype.h
@@ -7,8 +7,8 @@
#include
#include "IDecoder.h"
-class codecPrototype {
-// static vector codecQueue;
+class CICADA_CPLUS_EXTERN codecPrototype {
+ // static vector codecQueue;
static codecPrototype* codecQueue [10];
static int _nextSlot;
public:
@@ -21,7 +21,6 @@ class codecPrototype {
static void addPrototype(codecPrototype *se);
static Cicada::IDecoder *create(AFCodecID code, uint64_t flags, int maxSize);
-
};