我使用的是 Windows 10,而不是 2019、GLEW 2.1.0 和 SDL2。我很确定我已经一切都链接了。我已经三重检查了。
我有所有版本信息和类似的东西,因为我正在遵循lazyfoo的教程(https://lazyfoo.net/tutorials/SDL/51_SDL_and_modern_opengl/index.php)
但是,我不断收到错误,其中 glClear 和 glClearColor 是未解析的外部符号。我已将问题范围缩小到不包含我应该包含的文件(当前为 GL/glew.h、GL/glu.h、SDL.h、SDL_opengl.h)。有谁知道 glClear 是在哪个文件中定义的(而不只是声明的)?
我尝试检查链接器设置但无济于事。 3小时后在互联网上搜索没有任何帮助,我发现我包含的文件只声明了glClearColor和glClear。
谢谢!非常感谢任何帮助!
glClear
和 glClearColor
不是扩展函数,而是核心 GL 1.1 功能,因此 GLEW 不会包装它。在 Windows 上,您需要链接 opengl32(或在运行时通过例如 SDL_GL_GetProcAddress
获取函数指针,这可以同时获取核心函数和扩展函数)。