2013-05-23 2 views
4

J'ai essayé plusieurs méthodes pour que GLEW fonctionne avec mon projet VS2010. Sans succès. Au début, j'ai essayé d'utiliser les libs pré-construites et les DLL du site. J'ai téléchargé ces fichiers pré-construits à partir http://glew.sourceforge.net/index.html et fait quelque chose comme: setting up GLEW windows?Problèmes liés à GLEW avec Visual Studios

  1. fichiers .h ont été mis dans C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Inclure

  2. .lib ont été mis dans C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Lib \ x64 (je les ai mis aussi un niveau juste au cas où)

  3. glew32.dll a vers C: \ Windows \ SysWOW64

  4. linker-> entrée ajouter glew32.lib, glu32.lib et opengl32.lib aux dépendances supplémentaires

  5. définitions de préprocesseur: mettre en GLEW_BUILD et GLEW_STATIC (mon programme doit être une DLL, mais d'autres semblent avoir du succès avec la STATIC, donc je Comprennent à la fois)

Quand je lance le programme avec ces paramètres, glewInit() est pas GLEW_OK. Même si glewInit() échoue, il reconnaît encore étrangement cette fonction. Lorsque j'utilise une autre fonction glew comme « glCreateProgram() », je reçois les erreurs suivantes:

Error 56 error LNK2020: unresolved token (0A000327) __glewCreateProgram 
C:\Users\aab\studyWrist\Visualization\libCoin3D\ShaderHandler.obj libCoin3D 

Error 57 error LNK2001: unresolved external symbol __glewCreateProgram 
C:\Users\aab\studyWrist\Visualization\libCoin3D\ShaderHandler.obj libCoin3D 

Error 58 error LNK1120: 2 unresolved externals 
C:\Users\aab\studyWrist\Visualization\libCoin3D\Debug\libCoin3D.dll libCoin3D 

Alors, d'autres suggestions sur stackoverflow sont à reconstruire glew. Alors, j'ai essayé de construire glew32d dans VS2010. J'ai suivi OpenGL: How to compile glew32.dll from source file et ai obtenu glew32d.dll et glew32d.lib.

  1. glew32d.lib mis en C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Lib \ x64 (le programme ne reconnaît que la lib si je l'ai mis dans le dossier x64, et non un haut niveau)

  2. glew32d.dll est allé à C: \ Windows \ SysWOW64

  3. linker-> entrée ajouter glew32d.lib (celui-ci est modifié), glu32.lib et opengl32.lib à supplémentaires Dépendances

  4. Définitions de préprocesseur: mettre dans GLEW_BUILD et GLEW _STATIC

Mes erreurs suivantes sont causées par tout glewInit:

Error 56 error LNK2028: unresolved token (0A000383) "extern "C" unsigned int 
__cdecl glewInit(void)" ([email protected]@$$J0YAIXZ) referenced in function "public: __cdecl 
MasterCube::MasterCube(void)" ([email protected]@[email protected]) 
C:\Users\aab\studyWrist\Visualization\libCoin3D\MasterCube.obj libCoin3D 

Error 57 error LNK2019: unresolved external symbol "extern "C" unsigned int 
__cdecl glewInit(void)" ([email protected]@$$J0YAIXZ) referenced in function "public: __cdecl 
MasterCube::MasterCube(void)" ([email protected]@[email protected]) 
C:\Users\aab\wristuptodate\studyWrist\Visualization\libCoin3D\MasterCube.obj  
libCoin3D 

Toute idée de ce qui va mal et comment je peux résoudre ce problème?

Répondre

6

Ne les ajoutez pas dans les répertoires système. Vous ne devriez pas jeter des choses dans les répertoires du système. Ou les répertoires MSVC. Vous devriez avoir votre propre endroit quelque part sur votre commande pour ces choses, de peur que vous ne cassiez accidentellement des choses. Vous dites à vos outils, par exemple Visual Studio, où trouver votre bibliothèque, au lieu de mettre votre bibliothèque dans les outils des répertoires Visual Studio. Vous pouvez conserver votre bibliothèque dans les répertoires du projet. Vous pouvez suivre les ensembles suivants pour installer GLEW Je suppose que vous avez créé le projet d'application de console VC++ win32.

étape 1.Créez le répertoire dans le répertoire projet permet de prendre le nom de répertoire est "thirdparty"

étape 2. Copiez et collez le dossier de la bibliothèque glew-1.9.0 dans le répertoire thirdparty

étape 3. Allez maintenant dans les propriétés Menu Project -> (projectName) .. ou appuyez sur Alt + F7. Vous verrez la fenêtre des propriétés du projet.

étape 4. goto Propriétés de congestion-> option VC++ Répertoires. De là sur le côté droit donnent le chemin de bibliothèque glew. In Include Les répertoires indiquent path: $ (ProjectDir) thirdparty \ glew-1.9.0 \ include; Dans , les répertoires de bibliothèques indiquent path: $ (ProjectDir) thirdparty \ glew-1.9.0 \ lib;

Suivez maintenant la dernière étape pour la liaison.

étape 5. goto linker-> option d'entrée. Lien glew32.dll.In Supplémentaires Dépendances: glew32.dll;

2

Il est recommandé d'ajouter GLEW à votre dossier de projet et de le lier à votre application. Vous pouvez trouver un tutoriel étape par étape pour relier GLEW (et quelques autres bibliothèques) ici:

http://solarianprogrammer.com/2013/05/10/opengl-101-windows-osx-linux-getting-started/

Tout ignorer les parties qui ne sont pas pertinentes pour vous et passer à la partie qui décrit comment créer un OpenGL projet dans Windows.

+1

Merci pour cette ressource, J'apprécie l'aide! – AAB