error LNK2019: unresolved external symbol __imp__glClear@4 referenced in function "void __cdecl render(void)" (?render@@YAXXZ)
error LNK2019: unresolved external symbol __imp__glClearColor@16 referenced in function "bool __cdecl initGL(void)" (?initGL@@YA_NXZ)
error LNK2019: unresolved external symbol __imp__glDrawElements@16 referenced in function "void __cdecl render(void)" (?render@@YAXXZ)
尝试在http://lazyfoo.net/tutorials/SDL/编译SDL2的“现代opengl”示例。 我的VS2012项目平台设置为win32,我将lib目录指向SDL2.1.15和Glew1.10的32位目录。但是有些不对劲?
#include <SDL.h>
#include <gl\glew.h>
#include <SDL_opengl.h>
#include <gl\glu.h>
#include <stdio.h>
#include <string>
#include <fstream>
联: glew32.lib glew32mx.lib SDL2.lib SDL2main.lib
答案 0 :(得分:1)
这与GLEW完全无关 。那些未解析的外部符号来自opengl32.lib
,您遗憾地忘记将其包含在链接库中。
更重要的是,您不应该使用glew32
和glew32mx
;您无法编写 单一上下文和多上下文的软件。它是一个或另一个。
您正在进行单一上下文管理的机会非常好,如果您有合理的用例,您就会知道并理解为什么需要glew32mx
。