diff --git a/src/Main/FrameBuffer.cpp b/src/Main/FrameBuffer.cpp
index 013f4b5..d161c1f 100644
--- a/src/Main/FrameBuffer.cpp
+++ b/src/Main/FrameBuffer.cpp
@@ -35,6 +35,7 @@
 
 	FrameBuffer::Cursor FrameBuffer::cursor = {0};
 	bool FrameBuffer::topLeftOrigin = false;
+	void FrameBuffer::typeinfo() {}
 
 	FrameBuffer::FrameBuffer(int width, int height, bool fullscreen, bool topLeftOrigin)
 	{
diff --git a/src/Main/FrameBuffer.hpp b/src/Main/FrameBuffer.hpp
index 77a00f6..a888c86 100644
--- a/src/Main/FrameBuffer.hpp
+++ b/src/Main/FrameBuffer.hpp
@@ -105,8 +105,6 @@
 
 		static bool topLeftOrigin;
 	};
-
-	inline void FrameBuffer::typeinfo() {}
 }
 
 #endif	 //	sw_FrameBuffer_hpp
diff --git a/src/OpenGL/common/Image.cpp b/src/OpenGL/common/Image.cpp
index c734ba2..cd27753 100644
--- a/src/OpenGL/common/Image.cpp
+++ b/src/OpenGL/common/Image.cpp
@@ -1178,6 +1178,8 @@
 		}
 	}
 
+	void Image::typeinfo() {}
+
 	Image::~Image()
 	{
 		if(parentTexture)
diff --git a/src/OpenGL/common/Image.hpp b/src/OpenGL/common/Image.hpp
index 9e99852..c3ce604 100644
--- a/src/OpenGL/common/Image.hpp
+++ b/src/OpenGL/common/Image.hpp
@@ -194,8 +194,6 @@
 	void loadD32FS8ImageData(GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, int inputPitch, int inputHeight, const void *input, void *buffer);
 };
 
-inline void Image::typeinfo() {}
-
 #ifdef __ANDROID__
 
 inline GLenum GLPixelFormatFromAndroid(int halFormat)
diff --git a/src/OpenGL/libEGL/Display.cpp b/src/OpenGL/libEGL/Display.cpp
index b9ee799..7d895c3 100644
--- a/src/OpenGL/libEGL/Display.cpp
+++ b/src/OpenGL/libEGL/Display.cpp
@@ -42,6 +42,7 @@
 
 namespace egl
 {
+void Display::typeinfo() {}
 
 Display *Display::get(EGLDisplay dpy)
 {
diff --git a/src/OpenGL/libEGL/Display.h b/src/OpenGL/libEGL/Display.h
index dfa0737..7677c6c 100644
--- a/src/OpenGL/libEGL/Display.h
+++ b/src/OpenGL/libEGL/Display.h
@@ -99,8 +99,6 @@
 
 		gl::NameSpace<Image> mSharedImageNameSpace;
 	};
-
-	inline void Display::typeinfo() {}
 }
 
 #endif   // INCLUDE_DISPLAY_H_
diff --git a/src/OpenGL/libEGL/EGLSurface.cpp b/src/OpenGL/libEGL/EGLSurface.cpp
index f47cacb..1939431 100644
--- a/src/OpenGL/libEGL/EGLSurface.cpp
+++ b/src/OpenGL/libEGL/EGLSurface.cpp
@@ -38,6 +38,7 @@
 
 namespace egl
 {
+void Surface::typeinfo() {}
 
 Surface::Surface(const Display *display, const Config *config) : display(display), config(config)
 {
diff --git a/src/OpenGL/libEGL/EGLSurface.h b/src/OpenGL/libEGL/EGLSurface.h
index 0129f3d..555520e 100644
--- a/src/OpenGL/libEGL/EGLSurface.h
+++ b/src/OpenGL/libEGL/EGLSurface.h
@@ -98,8 +98,6 @@
 	EGLint swapInterval;
 };
 
-inline void Surface::typeinfo() {}
-
 class WindowSurface : public Surface
 {
 public:
diff --git a/src/Renderer/Surface.cpp b/src/Renderer/Surface.cpp
index 2c48163..0e626f1 100644
--- a/src/Renderer/Surface.cpp
+++ b/src/Renderer/Surface.cpp
@@ -39,6 +39,7 @@
 
 	unsigned int *Surface::palette = 0;
 	unsigned int Surface::paletteID = 0;
+	void Surface::typeinfo() {}
 
 	void Rect::clip(int minX, int minY, int maxX, int maxY)
 	{
diff --git a/src/Renderer/Surface.hpp b/src/Renderer/Surface.hpp
index f99e108..0f6c220 100644
--- a/src/Renderer/Surface.hpp
+++ b/src/Renderer/Surface.hpp
@@ -477,8 +477,6 @@
 
 namespace sw
 {
-	inline void Surface::typeinfo() {}
-
 	void *Surface::lock(int x, int y, int z, Lock lock, Accessor client, bool internal)
 	{
 		return internal ? lockInternal(x, y, z, lock, client) : lockExternal(x, y, z, lock, client);
