c++ - OpenGL 链接错误? Unresolved external glCreateShader()

标签 c++ windows opengl linker shader

我正在开发一个 OpenGL 程序来测试着色器并尝试编译它们。但是,对 glCreateShader() 的调用(以及其他着色器调用,如 glDeleteShader)会出现以下错误:

(此错误来自 glCreateShader())

Error   3   error LNK2001: unresolved external symbol _pglCreateShader  

我使用的是 Visual Studio 2012 和 Windows 7。我有一张最新的 nvidia 卡,包括最新的驱动程序,所以不能是我的 OpenGL 版本。

我将 glTools 头文件用于 OpenGL Superbible 第 4 版的所有辅助函数。不确定使用这些文件是否有错误?

我会发布我的内容,以防这也有任何帮助。

#pragma once

#include <Windows.h>

// Basic C++ includes
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
#include <vector>
using namespace std;

// OpenGL specific and GUI includes
#include "shared/gltools.h"
#include "shared/math3d.h"
#include <SOIL.h>

和链接器选项:

soil.lib;opengl32.lib;gltools.lib;


好的,问题已经解决,多亏了答案:

我编辑了我的 glTools.h 以包含“gl/glew.h”而不是“glee.h”,在我的链接器中添加了一个 ;glew32.lib 选项,并在进入主循环之前添加了 glewInit()。我还将 GLEW 库、dll 和包含添加到适当的文件夹中,所有功能都按预期工作! :)

最佳答案

获取 GLEW 的拷贝处理扩展加载。

正在做 by hand是……烦人。

关于c++ - OpenGL 链接错误? Unresolved external glCreateShader(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14569800/

相关文章:

windows - PSExec 如何以 SYSTEM 用户身份运行应用程序?

opengl - 使用 FBO+RBO 和 glFinish() 进行双缓冲

c++ - 无法使用 gcc 构建 sigqueue 示例,但 g++ 可以吗?

c++ - 尽管采用了错误数据类型的地址,代码仍能编译

c++ - Z_int 从何而来?

c++ - 使用 foreach 迭代多维数组

c++ - 您如何直接从 Windows 上的物理内存中读取?

c# - 如何从具有管理员权限的进程启动没有管理员权限的新进程?

c++ - glDrawElements 不绘制

c++ - 围绕自身旋转物体