Skip to content

Commit 7abff4e

Browse files
committed
updated exports of templated classes to fix visualc++ problems
1 parent e96ee05 commit 7abff4e

File tree

5 files changed

+11
-9
lines changed

5 files changed

+11
-9
lines changed

examples/protonect/include/libfreenect2/async_packet_processor.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,14 @@
2727
#ifndef ASYNC_PACKET_PROCESSOR_H_
2828
#define ASYNC_PACKET_PROCESSOR_H_
2929

30-
#include <libfreenect2/config.h>
3130
#include <libfreenect2/threading.h>
3231
#include <libfreenect2/packet_processor.h>
3332

3433
namespace libfreenect2
3534
{
3635

3736
template<typename PacketT>
38-
class LIBFREENECT2_API AsyncPacketProcessor : public PacketProcessor<PacketT>
37+
class AsyncPacketProcessor : public PacketProcessor<PacketT>
3938
{
4039
public:
4140
typedef PacketProcessor<PacketT>* PacketProcessorPtr;

examples/protonect/include/libfreenect2/depth_packet_processor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ struct LIBFREENECT2_API DepthPacket
4444
size_t buffer_length;
4545
};
4646

47+
// explicit instantiation and export to make vsc++ happy
48+
template class LIBFREENECT2_API PacketProcessor<DepthPacket>;
4749
typedef PacketProcessor<DepthPacket> BaseDepthPacketProcessor;
4850

4951
class LIBFREENECT2_API DepthPacketProcessor : public BaseDepthPacketProcessor

examples/protonect/include/libfreenect2/opengl.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@
2929

3030
#include <GL/glew.h>
3131
#include <GLFW/glfw3.h>
32+
#include <libfreenect2/config.h>
3233

3334
namespace libfreenect2
3435
{
3536

36-
struct OpenGLContext
37+
struct LIBFREENECT2_API OpenGLContext
3738
{
3839
GLFWwindow *glfw_ctx;
3940
GLEWContext *glew_ctx;
@@ -48,7 +49,7 @@ struct OpenGLContext
4849
};
4950

5051

51-
struct ChangeCurrentOpenGLContext
52+
struct LIBFREENECT2_API ChangeCurrentOpenGLContext
5253
{
5354
const OpenGLContext *last_ctx;
5455

@@ -58,6 +59,6 @@ struct ChangeCurrentOpenGLContext
5859

5960
} /* namespace libfreenect2 */
6061

61-
GLEWContext *glewGetContext();
62+
LIBFREENECT2_API GLEWContext *glewGetContext();
6263

6364
#endif /* OPENGL_H_ */

examples/protonect/include/libfreenect2/packet_processor.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,11 @@
2727
#ifndef PACKET_PROCESSOR_H_
2828
#define PACKET_PROCESSOR_H_
2929

30-
#include <libfreenect2/config.h>
31-
3230
namespace libfreenect2
3331
{
3432

3533
template<typename PacketT>
36-
class LIBFREENECT2_API PacketProcessor
34+
class PacketProcessor
3735
{
3836
public:
3937
virtual ~PacketProcessor() {}
@@ -43,7 +41,7 @@ class LIBFREENECT2_API PacketProcessor
4341
};
4442

4543
template<typename PacketT>
46-
class LIBFREENECT2_API NoopPacketProcessor : public PacketProcessor<PacketT>
44+
class NoopPacketProcessor : public PacketProcessor<PacketT>
4745
{
4846
public:
4947
NoopPacketProcessor() {}

examples/protonect/include/libfreenect2/rgb_packet_processor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ struct LIBFREENECT2_API RgbPacket
4545
size_t jpeg_buffer_length;
4646
};
4747

48+
// explicit instantiation and export to make vsc++ happy
49+
template class LIBFREENECT2_API PacketProcessor<RgbPacket>;
4850
typedef PacketProcessor<RgbPacket> BaseRgbPacketProcessor;
4951

5052
class LIBFREENECT2_API RgbPacketProcessor : public BaseRgbPacketProcessor

0 commit comments

Comments
 (0)