Erreur de liaison OpenGL? GlCreateShader externe non résolu ()

Je travaille sur un programme OpenGL pour tester les shaders et essayer de les comstackr. Cependant, l’appel à glCreateShader () (et à d’autres appels de shader comme glDeleteShader) génère l’erreur suivante:

(cette erreur provient de glCreateShader ())

Error 3 error LNK2001: unresolved external symbol _pglCreateShader 

J’utilise Visual Studio 2012 et Windows 7. J’ai une des dernières cartes NVIDIA, y compris les derniers pilotes, donc je ne peux pas être ma version OpenGL.

J’utilise les fichiers d’en-tête de glTools pour toutes les fonctions d’aide de la 4ème édition d’OpenGL Superbible. Vous ne savez pas s’il y a une erreur dans l’utilisation de ces fichiers?

Je posterai mes offres au cas où cela pourrait être utile.

 #pragma once #include  // Basic C++ includes #include  #include  #include  #include  #include  #include  #include  using namespace std; // OpenGL specific and GUI includes #include "shared/gltools.h" #include "shared/math3d.h" #include  

Et les options de l’éditeur de liens:

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

Oké, le problème a été résolu grâce aux réponses:

J’ai édité mon glTools.h pour inclure «gl / glew.h» au lieu de «glee.h», ajouté une option; glew32.lib à mon éditeur de liens et ajouté glewInit () avant d’entrer dans la boucle principale. J’ai aussi ajouté les libs, dlls et inclus GLEW dans le dossier approprié et toutes les fonctions fonctionnent comme elles le devraient! 🙂

Prenez une copie de GLEW pour gérer le chargement de l’extension.

Le faire à la main est … ennuyant.

Sous Windows, vous utilisez WGL, et lorsque vous utilisez WGL, vous ne pouvez pas créer de lien direct avec les fonctions GL. Toutes les fonctions que vous obtenez sont celles – ci ; vous êtes censé saisir dynamicment le pointeur vers le point d’entrée GL que vous voulez avec wglGetProcAddress (comme ici ) avant de pouvoir les utiliser.

Fondamentalement, OpenGL sous Windows est un PITA si vous chargez manuellement le pointeur de la fonction de point d’entrée GL. Il est beaucoup plus facile d’utiliser une bibliothèque d’utilitaires pour saisir les pointeurs pour vous, tels que GLEW .