1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
|
diff --git a/RawSpeed/Camera.h b/RawSpeed/Camera.h
index 7b3045d..4363c1b 100644
--- a/RawSpeed/Camera.h
+++ b/RawSpeed/Camera.h
@@ -6,6 +6,7 @@
#include <libxml/parser.h>
#include "BlackArea.h"
#include "CameraMetadataException.h"
+#include "dlldef.h"
/*
RawSpeed - RAW file decoder.
@@ -30,7 +31,7 @@
namespace RawSpeed {
-class Camera
+class DllDef Camera
{
public:
Camera(xmlDocPtr doc, xmlNodePtr cur);
diff --git a/RawSpeed/CameraMetaData.h b/RawSpeed/CameraMetaData.h
index 616b2bb..c6b8031 100644
--- a/RawSpeed/CameraMetaData.h
+++ b/RawSpeed/CameraMetaData.h
@@ -27,9 +27,10 @@
http://www.klauspost.com
*/
+#include "dlldef.h"
namespace RawSpeed {
-class CameraMetaData
+class DllDef CameraMetaData
{
public:
CameraMetaData();
diff --git a/RawSpeed/CameraMetadataException.h b/RawSpeed/CameraMetadataException.h
index 55a2814..52d5ea1 100644
--- a/RawSpeed/CameraMetadataException.h
+++ b/RawSpeed/CameraMetadataException.h
@@ -22,10 +22,11 @@
#ifndef CAMERA_METADATA_EXCEPTION_H
#define CAMERA_METADATA_EXCEPTION_H
+#include "dlldef.h"
namespace RawSpeed {
-void ThrowCME(const char* fmt, ...);
+void DllDef ThrowCME(const char* fmt, ...);
class CameraMetadataException :
public std::runtime_error
diff --git a/RawSpeed/FileMap.h b/RawSpeed/FileMap.h
index 5c15918..bcd2a79 100644
--- a/RawSpeed/FileMap.h
+++ b/RawSpeed/FileMap.h
@@ -25,6 +25,7 @@
*/
#include "IOException.h"
+#include "dlldef.h"
namespace RawSpeed {
@@ -36,7 +37,7 @@ namespace RawSpeed {
* This can also be done as a MemMap
*
*****************************/
-class FileMap
+class DllDef FileMap
{
public:
FileMap(uint32 _size); // Allocates the data array itself
diff --git a/RawSpeed/FileReader.h b/RawSpeed/FileReader.h
index 7448ec2..fb42ac0 100644
--- a/RawSpeed/FileReader.h
+++ b/RawSpeed/FileReader.h
@@ -24,10 +24,11 @@
#include "FileIOException.h"
#include "FileMap.h"
+#include "dlldef.h"
namespace RawSpeed {
-class FileReader
+class DllDef FileReader
{
public:
FileReader(LPCWSTR filename);
diff --git a/RawSpeed/RawDecoder.h b/RawSpeed/RawDecoder.h
index a6c4708..b35cae5 100644
--- a/RawSpeed/RawDecoder.h
+++ b/RawSpeed/RawDecoder.h
@@ -9,6 +9,7 @@
#include "BitPumpPlain.h"
#include "CameraMetaData.h"
#include "TiffIFD.h"
+#include "dlldef.h"
/*
RawSpeed - RAW file decoder.
@@ -48,7 +49,7 @@ class RawDecoderThread
RawDecoder* parent;
};
-class RawDecoder
+class DllDef RawDecoder
{
public:
/* Construct decoder instance - FileMap is a filemap of the file to be decoded */
diff --git a/RawSpeed/RawImage.h b/RawSpeed/RawImage.h
index 5741760..74cea96 100644
--- a/RawSpeed/RawImage.h
+++ b/RawSpeed/RawImage.h
@@ -26,13 +26,15 @@
http://www.klauspost.com
*/
+#include "dlldef.h"
+
namespace RawSpeed {
class RawImage;
class RawImageWorker;
typedef enum {TYPE_USHORT16, TYPE_FLOAT32} RawImageType;
-class RawImageData
+class DllDef RawImageData
{
friend class RawImageWorker;
public:
@@ -125,7 +127,7 @@ protected:
int end_y;
};
- class RawImage {
+ class DllDef RawImage {
public:
static RawImage create(RawImageType type = TYPE_USHORT16);
static RawImage create(iPoint2D dim, RawImageType type = TYPE_USHORT16, uint32 componentsPerPixel = 1);
diff --git a/RawSpeed/RawParser.h b/RawSpeed/RawParser.h
index 9ef86e3..1b3cb83 100644
--- a/RawSpeed/RawParser.h
+++ b/RawSpeed/RawParser.h
@@ -25,10 +25,11 @@
#include "FileMap.h"
#include "RawDecoder.h"
+#include "dlldef.h"
namespace RawSpeed {
-class RawParser
+class DllDef RawParser
{
public:
RawParser(FileMap* input);
diff --git a/RawSpeed/dlldef.h b/RawSpeed/dlldef.h
new file mode 100644
index 0000000..c806451
--- /dev/null
+++ b/RawSpeed/dlldef.h
@@ -0,0 +1,20 @@
+#ifndef DLLDEF_H
+#define DLLDEF_H
+
+#ifdef _WIN32
+#ifdef _MSC_VER
+#pragma warning( disable: 4251 )
+#endif
+#ifdef RAWSPEED_NODLL
+# define DllDef
+#else
+# ifdef RAWSPEED_BUILDLIB
+# define DllDef __declspec( dllexport )
+# else
+# define DllDef __declspec( dllimport )
+# endif
+#endif
+#else
+# define DllDef
+#endif
+#endif
|