我正在开发一个 OpenGL 程序来测试着色器并尝试编译它们。但是,对 glCreateShader() 的调用(以及其他着色器调用,如 glDeleteShader)会给出以下错误:
(此错误来自 glCreateShader())
Error 3 error LNK2001: unresolved external symbol _pglCreateShader
我正在使用 Visual Studio 2012 和 Windows 7。获得了最新的 nvidia 卡之一,包括最新的驱动程序,所以不能是我的 OpenGL 版本。
我正在为 OpenGL Superbible 第 4 版的所有辅助函数使用 glTools 头文件。不确定使用这些文件是否有错误?
我会发布我的包含内容,以防这也有任何帮助。
#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 和包含添加到适当的文件夹中,所有功能都可以正常工作!:)