glfwSetWindowSizeCallback HELP please!

chutiano wrote on Monday, December 20, 2010:

Hi guys newbie trying to get my window resize to work but am getting this
error:

CODE:

class Renderer 
{
	bool loop_running;
public:
	 Renderer();
	~Renderer();
	static void GLFWCALL GLFWResizeCallback( int width, int height );
	void ResizeGL(int width , int height);
	void InitGL();
	void RenderLoop();
	static Renderer *mainRenderer;
};
Renderer::Renderer()
{
	
	mainRenderer = this;
	
	glfwSetWindowSizeCallback(GLFWResizeCallback);
	
}
void  GLFWCALL Renderer::GLFWResizeCallback( int width, int height )
{
	Renderer::mainRenderer->ResizeGL(width, height);
}

VS2010 ERROR:

1>------ Build started: Project: Basecode3, Configuration: Debug Win32 ------
1>Build started 20/12/2010 2:11:13 PM.
1>InitializeBuildStatus:
1>  Touching "Debug\Basecode3.unsuccessfulbuild".
1>ClCompile:
1>  Renderer.cpp
1>  Generating Code...
1>  Compiling...
1>  main.cpp
1>  Generating Code...
1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>Renderer.obj : error LNK2001: unresolved external symbol "public: static class Renderer * Renderer::mainRenderer" (?mainRenderer@Renderer@@2PAV1@A)
1>C:\CODE\Renderer\Basecode3\Debug\Basecode3.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.29
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

need help really stuck.

p.s. Ioving GLFW keep up the good work!

anonymous wrote on Friday, January 21, 2011:

Hi,

You’ll need to declare the callback function as GLFWCALL, eg:

class Blah{
    static void GLFWCALL OnWindowSize( int width,int height );
};
//...etc...//
void Blah::OnWindowSize( int width,int height ){
}

Bye!
Mark