シェーダーをテストしてコンパイルしようとする OpenGL プログラムに取り組んでいます。ただし、glCreateShader() への呼び出し (および glDeleteShader などの他のシェーダー呼び出し) では、次のエラーが発生します。
(このエラーは glCreateShader() によるものです)
Error 3 error LNK2001: unresolved external symbol _pglCreateShader
私はVisual Studio 2012とWindows 7を使用しています。最新のドライバーを含む最新のnvidiaカードの1つを入手したため、OpenGLバージョンにすることはできません。
OpenGL Superbible 4th エディションのすべてのヘルパー関数に 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;
わかりました、答えのおかげで問題は解決しました:
「glee.h」の代わりに「gl/glew.h」を含めるように glTools.h を編集し、リンカーに ;glew32.lib オプションを追加し、メイン ループに入る前に glewInit() を追加しました。また、GLEW ライブラリ、dll、およびインクルードを適切なフォルダーに追加したところ、すべての機能が正常に機能しました。:)