glew链接问题找不到__imp_glgetIntegerv

GLEW linking issues cannot find __imp_glGetIntegerv

本文关键字:imp glgetIntegerv 找不到 链接 问题 glew      更新时间:2023-10-16

注意:是的,我已经指定了glew_static。

因此,我一直在尝试将GLEW设置为新项目之前,我已经经历了这个牛仔竞技表演,但是现在我在项目中使用了glew 2.0,它正在产生链接错误。我刚刚在linux实例中生成了源。

#include "Renderer.h"
#include <windows.h>
#include "GL/glew.h"
#include "Logger.h"
void Renderer::init(void* windowHandle) {
    Logger logger("Renderer::init");
    GLenum result = glewInit();
    if (result != GLEW_OK) {
        LOG(logger) << "Failed to run glew init with error: " << result;
    }
}

这是我在命名空间渲染器中声明并在此处定义的函数。相关性是我只称为 glewInit(),就是它。

产生的链接错误是:

Error   LNK2019 unresolved external symbol __imp_glGetIntegerv referenced in function glewContextInit
Error   LNK2019 unresolved external symbol __imp_glGetString referenced in function glewContextInit
Error   LNK2019 unresolved external symbol __imp_wglGetCurrentDC referenced in function wglewInit
Error   LNK2019 unresolved external symbol __imp_wglGetProcAddress referenced in function wglewInit 

此处的差异是"未定义的函数"的错误类型,这些选择的四种是唯一缺失的错误。由于它们具有附加的__IMP_标签,通常表明他们期望链接一个动态库,所以某些东西告诉我它们可能是生成的文件中的错误?有人遇到这个问题,链接glew?

当然,在搜索夜晚后,您在发布后10分钟找到答案。我已经有一段时间没有这样做了,所以我忘记了Win32仍然要求您包括OpenGl32.lib,因为它包括GlgetIntegerv的版本((以及其他功能),它应该从Windows Inccement,windows insport的OpenGL 1.0实现中使用。而不是像所有扩展名那样从驱动程序中查询它们。