我正在开发一个 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 和包含添加到适当的文件夹中,所有功能都按预期工作! :)
最佳答案
关于c++ - OpenGL 链接错误? Unresolved external glCreateShader(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14569800/